CN116597062B - 一种基于动态自适应解码的压缩纹理渲染优化方法 - Google Patents
一种基于动态自适应解码的压缩纹理渲染优化方法 Download PDFInfo
- Publication number
- CN116597062B CN116597062B CN202310838469.1A CN202310838469A CN116597062B CN 116597062 B CN116597062 B CN 116597062B CN 202310838469 A CN202310838469 A CN 202310838469A CN 116597062 B CN116597062 B CN 116597062B
- Authority
- CN
- China
- Prior art keywords
- texture
- compressed
- decoding
- rendering
- compressed texture
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000009877 rendering Methods 0.000 title claims abstract description 81
- 238000000034 method Methods 0.000 title claims abstract description 31
- 238000005457 optimization Methods 0.000 title claims abstract description 13
- 230000003044 adaptive effect Effects 0.000 title claims description 4
- 230000006835 compression Effects 0.000 claims description 2
- 238000007906 compression Methods 0.000 claims description 2
- 230000000903 blocking effect Effects 0.000 abstract 1
- 230000008569 process Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/04—Indexing scheme for image data processing or generation, in general involving 3D image data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/28—Indexing scheme for image data processing or generation, in general involving image processing hardware
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本发明公开了一种基于动态自适应解码的压缩纹理渲染优化方法,通过在应用首次解码和渲染压缩纹理时不执行标准的解码操作而是在渲染时执行解码和渲染操作,并记录压缩纹理历史信息,当再次运行时加载压缩纹理历史信息确定待渲染的压缩纹理队列,创建线程加载压缩纹理队列中的压缩纹理执行解码,再完成解码后压缩纹理的渲染,实现了运行时动态按需解码压缩纹理,显著减少了处理压缩纹理导致的应用卡顿、延迟现象,并有效降低了内存或显存的占用。
Description
技术领域
本发明属于计算机应用开发技术领域,具体涉及一种基于动态自适应解码的压缩纹理渲染优化方法。
背景技术
许多大型的移动端3D应用通常会大量使用各种格式的压缩纹理,一是为了减少应用自身的大小,二是为了减少运行时使用纹理所占用的内存或显存大小。一般情况下移动端3D应用,尤其是游戏应用,通常会采用分阶段批量加载压缩纹理的方式解码纹理,例如当游戏场景切换时应用会将新场景中可能用到的压缩纹理一次性加载并解码,然而此时如果压缩纹理较多就会导致出现应用卡顿的情况,并且这一过程将占用较多的内存或显存。此外,较大纹理通常会包含若干较小纹理,较大纹理通常为纹理图集,纹理图集为其中纹理的父纹理,纹理图集中的纹理为纹理图集的子纹理,尽管压缩纹理具有可分块解码的特点,但是实际使用时为了解码几个子纹理,应用往往需要加载甚至是解码父纹理,因此会导致不必要的内存或显存消耗。
发明内容
有鉴于此,本发明提供了一种基于动态自适应解码的压缩纹理渲染优化方法,实现了应用运行时的动态按需解码压缩纹理完成渲染。
本发明提供的一种基于动态自适应解码的压缩纹理渲染优化方法,包括以下步骤:
步骤1、应用被加载时查找其对应的压缩纹理历史信息,若存在,则依据解码时间戳将压缩纹理历史信息按照设定的第一时间间隔分组为多个批量解码阶段,执行步骤2;否则执行步骤6;所述压缩纹理历史信息包括纹理ID、纹理大小、解码时间戳、渲染时间戳及偏移坐标,当纹理为子纹理时偏移坐标为该子纹理在其父纹理中的偏移坐标,当纹理不是子纹理时偏移坐标为空;
步骤2、应用解码压缩纹理时,以当前压缩纹理的纹理ID为第一纹理ID获取其所在的批量解码阶段作为当前批量解码阶段,若当前压缩纹理为当前批量解码阶段中的第一个纹理则执行步骤3;否则跳过当前压缩纹理标准解码操作中的后续流程,执行步骤7;
步骤3、遍历当前批量解码阶段中的纹理ID及解码时间戳,将当前批量解码阶段的最后一个纹理的解码时间戳记为解码终点时间戳;以解码终点时间戳为基准渲染时间戳,在压缩纹理历史信息中获取渲染时间戳与基准渲染时间戳差值的绝对值小于第二时间间隔的压缩纹理,由这些压缩纹理形成第一待渲染纹理列表,若第一纹理ID对应的压缩纹理属于第一待渲染纹理列表则执行步骤4;否则跳过当前压缩纹理标准解码操作中的后续流程,执行步骤7;
步骤4、在压缩纹理历史信息中获取渲染时间戳处于当前批量解码阶段与下一个批量解码阶段之间的压缩纹理,由这些压缩纹理形成第二待渲染纹理列表;
步骤5、若采用CPU执行解码操作,则创建多个CPU线程按照渲染时间戳从先到后的顺序分别加载由第一待渲染纹理列表和第二待渲染纹理列表组成的压缩纹理队列中的压缩纹理并执行第一解码操作,执行步骤7;若采用GPU执行解码操作,则创建OpenGL线程或DirectX线程按照渲染时间戳从先到后的顺序分别加载由第一待渲染纹理列表和第二待渲染纹理列表组成的压缩纹理队列中的压缩纹理并执行第一解码操作,执行步骤7;
步骤6、应用解码压缩纹理时记录当前压缩纹理的纹理ID、纹理大小及解码时间戳,跳过当前压缩纹理标准解码操作中的后续流程,执行步骤7;
步骤7、应用渲染或处理压缩纹理时,当前压缩纹理为子纹理则记录当前压缩纹理的纹理ID、渲染时间戳及偏移坐标,若当前压缩纹理未被解码则根据纹理ID加载压缩纹理并执行标准解码操作执行步骤8;否则执行步骤8;当前压缩纹理为父纹理则记录当前压缩纹理的纹理ID及渲染时间戳,若当前压缩纹理未被解码则根据纹理ID加载压缩纹理并执行标准解码操作执行步骤8;否则执行步骤8;
步骤8、若为OpenGL线程或DirectX线程执行解码操作则将解码后的当前压缩纹理绑定到当前渲染上下文执行渲染操作;否则对当前压缩纹理执行渲染操作;再将当前压缩纹理从压缩纹理队列中删除;应用退出时,保存应用对应的压缩纹理历史信息。
进一步地,所述步骤1中所述应用被加载时查找其对应的压缩纹理历史信息的方式为:根据应用的唯一标识查找应用对应的压缩纹理历史信息。
进一步地,所述应用的唯一标识为:应用的哈希值。
进一步地,所述步骤1中所述第一时间间隔为:500毫秒。
进一步地,所述步骤3中所述第二时间间隔为:3秒。
进一步地,所述步骤5中所述第一解码操作为:标准解码操作。
进一步地,所述步骤5中所述第一解码操作为:若压缩纹理为父纹理,则获取该父纹理在渲染时被使用的所有子纹理,若由这些子纹理组成的矩形覆盖了父纹理的纹理大小,则对该父纹理执行标准解码操作;否则若压缩纹理为子纹理且其父纹理未被解码,则根据子纹理的偏移坐标和纹理大小将其父纹理执行部分解码,并将得到的纹理封装为完整纹理对象。
有益效果
本发明通过在应用首次解码和渲染压缩纹理时不执行标准的解码操作而是在渲染时执行解码和渲染操作,并记录压缩纹理历史信息,当应用再次运行时加载压缩纹理历史信息确定待渲染的压缩纹理队列,创建线程加载压缩纹理队列中的压缩纹理执行解码,再完成解码后压缩纹理的渲染,实现了运行时动态按需解码压缩纹理,显著减少了处理压缩纹理导致的应用卡顿、延迟现象,并有效降低了内存或显存的占用。
具体实施方式
下面列举实施例,对本发明进行详细描述。
本发明提供了一种基于动态自适应解码的压缩纹理渲染优化方法,其核心思想是:应用首次解码和渲染压缩纹理时,不执行标准的解码操作而在渲染时执行解码和渲染操作,并记录压缩纹理的纹理信息作为压缩纹理历史信息;应用再次运行时加载压缩纹理历史信息,并根据当前压缩纹理的纹理ID确定待渲染的压缩纹理队列,创建线程加载压缩纹理队列中的压缩纹理并执行解码操作,再对解码后的压缩纹理执行渲染操作。
本发明提供的一种基于动态自适应解码的压缩纹理渲染优化方法,具体包括以下步骤:
步骤1、应用被加载时,根据应用的唯一标识查找应用对应的压缩纹理历史信息,若存在,则依据解码时间戳将压缩纹理历史信息按照设定的第一时间间隔分组为多个批量解码阶段,执行步骤2;否则执行步骤6。
其中,压缩纹理历史信息包括纹理ID、纹理大小、解码时间戳、渲染时间戳及偏移坐标,当纹理为子纹理时偏移坐标为该子纹理在其父纹理中的偏移坐标,当纹理不是子纹理时偏移坐标为空。压缩纹理的解码过程中记录纹理ID、纹理大小及解码时间戳,压缩纹理的渲染过程中记录纹理ID、纹理大小、渲染时间戳及偏移坐标。
第一时间间隔可设定为500毫秒。应用的唯一标识可为应用的哈希值。
步骤2、应用解码压缩纹理时,将当前压缩纹理的纹理ID作为第一纹理ID,根据第一纹理ID获取其所在的批量解码阶段作为当前批量解码阶段,若当前压缩纹理为当前批量解码阶段中的第一个纹理则执行步骤3;否则跳过当前压缩纹理标准解码操作中的后续流程,执行步骤7。
步骤3、遍历当前批量解码阶段中的纹理ID及解码时间戳,将当前批量解码阶段的最后一个纹理的解码时间戳记为解码终点时间戳;以解码终点时间戳为基准渲染时间戳,在压缩纹理历史信息中获取渲染时间戳与基准渲染时间戳差值的绝对值小于第二时间间隔的压缩纹理,由这些压缩纹理形成第一待渲染纹理列表,若第一纹理ID对应的压缩纹理属于第一待渲染纹理列表则执行步骤4;否则跳过当前压缩纹理标准解码操作中的后续流程,执行步骤7。
其中,第二时间间隔可设置为3秒。
步骤4、在压缩纹理历史信息中获取渲染时间戳处于当前批量解码阶段与下一个批量解码阶段之间的压缩纹理,由这些压缩纹理形成第二待渲染纹理列表。
步骤5、若采用CPU执行解码操作,则创建多个CPU线程按照渲染时间戳从先到后的顺序分别加载由第一待渲染纹理列表和第二待渲染纹理列表组成的压缩纹理队列中压缩纹理并执行第一解码操作,执行步骤7;若采用GPU执行解码操作,则创建OpenGL线程或DirectX线程按照渲染时间戳从先到后的顺序分别加载由第一待渲染纹理列表和第二待渲染纹理列表组成的压缩纹理队列中压缩纹理并执行第一解码操作,执行步骤7。
其中,第一解码操作可为标准解码操作。
为进一步提高解码效率本发明中改进了第一解码操作,具体过程为:
若压缩纹理为父纹理,则获取该父纹理在渲染时被使用的所有子纹理,若由这些子纹理的显示区域组成的矩形区域覆盖了父纹理的显示区域,则对该父纹理执行标准解码操作;否则若压缩纹理为子纹理且其父纹理未被解码,则根据子纹理的偏移坐标和纹理大小将其父纹理执行部分解码,并将得到的纹理封装为完整纹理对象。
步骤6、应用解码压缩纹理时,则记录当前压缩纹理解码阶段的信息,包括纹理ID、纹理大小及解码时间戳,跳过当前压缩纹理标准解码操作中的后续流程,执行步骤7。
步骤7、应用渲染或处理压缩纹理时,当前压缩纹理为子纹理则记录当前压缩纹理的纹理ID、渲染时间戳及偏移坐标,若当前压缩纹理未被解码则根据纹理ID加载压缩纹理并执行标准解码操作执行步骤8;否则执行步骤8;当前压缩纹理为父纹理则记录当前压缩纹理的纹理ID及渲染时间戳,若当前压缩纹理未被解码则根据纹理ID加载压缩纹理并执行标准解码操作执行步骤8;否则执行步骤8。
步骤8、若为OpenGL线程或DirectX线程执行解码操作则将解码后的当前压缩纹理绑定到当前渲染上下文执行渲染操作;否则对当前压缩纹理执行渲染操作;再将当前压缩纹理从压缩纹理队列中删除;应用退出时,保存应用对应的压缩纹理历史信息。
实施例
本实施例采用本发明提供的一种基于动态自适应解码的压缩纹理渲染优化方法实现了压缩纹理的渲染,具体包括以下步骤:
S1、应用加载时,根据应用哈希值加载其对应的压缩纹理历史信息,压缩纹理历史信息包括纹理解码时获取的信息及纹理渲染时获取的信息。纹理解码时获取的信息包括纹理ID、纹理大小及解码时间戳等。纹理渲染时获取的信息包括纹理ID、纹理大小及渲染时间戳,若压缩纹理为子纹理则还包括子纹理的纹理大小及其在父纹理中的偏移坐标。
同时,在加载压缩纹理历史信息时根据解码时间戳对压缩纹理历史信息进行分组,具体为将解码时间戳间隔小于500毫秒的纹理解码操作作为一个分组,记为批量解码阶段。
S2、修改OpenGL、OpenGL ES或Vulkan的压缩纹理解码函数不执行标准解码操作,而是延迟到使用时即渲染时再执行解码。
压缩纹理解码函数如OpenGL或OpenGL ES的glCompressedTexImage2D或glCompressedTexSubImage2D,glCompressedTexSubImage2D为对压缩纹理进行部分解码的函数。
修改后的处理过程如下:
S2.1、如已加载压缩纹理历史信息,则根据当前纹理ID获取其所属的批量解码阶段,若当前纹理为该批量解码阶段的第一个纹理,则执行S2.2,否则执行S2.6。
S2.2、遍历压缩纹理历史信息中的该批量解码阶段中解码的纹理ID及解码时间戳,将该批量解码阶段的最后一个纹理的解码时间戳记为decodeEndTimestamp。
S2.3、从压缩纹理历史信息中获取距离decodeEndTimestamp小于3秒的需要渲染的纹理的列表记为texListIn3s,若当前纹理ID存在于texListIn3s中,则执行S2.4;若不在列表中,则跳过当前压缩纹理标准解码操作中的后续流程,执行S3。
S2.4、获取压缩纹理历史信息中当前批量解码阶段和下一批量解码阶段之间渲染的压缩纹理的纹理ID记为textListToRender。
S2.5、创建texDecodeManager管理解码过程,若为采用CPU解码压缩纹理,则创建N个CPU线程;若为采用GPU解码则创建OpenGL线程或DirectX线程,按照渲染时间戳顺序解码textListToRender与texListIn3s中的压缩纹理。
当在OpenGL线程或者DirectX线程中解码时,则需要在渲染过程中使用此纹理时执行将纹理绑定到渲染上下文的渲染操作。
解码过程为:
若当前被解码的压缩纹理在之后的渲染过程中作为多个子纹理被使用,说明当前被解码的压缩纹理为纹理图集,则获取渲染时将使用的所有子纹理的偏移坐标和纹理大小,若这些子纹理对应矩形的显示范围求和后覆盖了整个父纹理的显示范围,则执行标准纹理解码操作,即将父纹理全部解码;
否则,即当前被解码的纹理为子纹理且其父纹理并未解码,则根据其偏移坐标和纹理大小对父纹理执行部分解码,并解码后的纹理封装为一个完整纹理对象使用,即创建内部纹理对象映射到这些子纹理,在OpenGL中对应的操作是创建对应的纹理数据结构并绑定到一个标准纹理ID。
从解码时间戳看,子纹理的解码一定在其父纹理的解码之后完成。
跳过当前压缩纹理标准解码操作中的后续流程,执行S3。
S2.6、对于未加载的压缩纹理历史信息,或应用的变化导致的之前保存的压缩纹理历史信息失效等情况,若纹理为子纹理,即调用的是子纹理的解码函数,则记录子纹理解码信息,包括纹理ID、纹理大小、解码时间戳、子纹理的纹理大小和其在父纹理中的偏移坐标,跳过当前压缩纹理标准解码操作中的后续流程,执行S3;若纹理为父纹理,则记录纹理ID、纹理大小及解码时间戳,跳过当前压缩纹理标准解码操作中的后续流程,执行S3。
S3、修改压缩纹理的渲染函数或纹理处理函数,实现渲染时解码,并记录纹理使用信息,此时需注意保护图形接口的运行时上下文,具体包括:
S3.1、记录当前渲染的压缩纹理的纹理ID和渲染时间戳,如果是子纹理还需要额外记录子纹理的纹理大小和其在父纹理内的偏移坐标。
S3.2、如当前渲染或处理使用的压缩纹理未被解码,例如应用当前将使用的纹理是未经解码的压缩纹理,则:
根据纹理ID加载纹理并执行标准解码操作;
将此压缩纹理绑定到当前渲染上下文;
将此压缩纹理从texDecodeManager中的压缩纹理队列中删除。
S4、应用退出时,将压缩纹理的压缩纹理历史信息保存到文件,压缩纹理历史信息包括压缩纹理的解码和渲染过程中生成的所有历史信息。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种基于动态自适应解码的压缩纹理渲染优化方法,其特征在于,包括以下步骤:
步骤1、应用被加载时查找其对应的压缩纹理历史信息,若存在,则依据解码时间戳将压缩纹理历史信息按照设定的第一时间间隔分组为多个批量解码阶段,执行步骤2;否则执行步骤6;所述压缩纹理历史信息包括纹理ID、纹理大小、解码时间戳、渲染时间戳及偏移坐标,当纹理为子纹理时偏移坐标为该子纹理在其父纹理中的偏移坐标,当纹理不是子纹理时偏移坐标为空;
步骤2、应用解码压缩纹理时,以当前压缩纹理的纹理ID为第一纹理ID获取其所在的批量解码阶段作为当前批量解码阶段,若当前压缩纹理为当前批量解码阶段中的第一个纹理则执行步骤3;否则跳过当前压缩纹理标准解码操作中的后续流程,执行步骤7;
步骤3、遍历当前批量解码阶段中的纹理ID及解码时间戳,将当前批量解码阶段的最后一个纹理的解码时间戳记为解码终点时间戳;以解码终点时间戳为基准渲染时间戳,在压缩纹理历史信息中获取渲染时间戳与基准渲染时间戳差值的绝对值小于第二时间间隔的压缩纹理,由这些压缩纹理形成第一待渲染纹理列表,若第一纹理ID对应的压缩纹理属于第一待渲染纹理列表则执行步骤4;否则跳过当前压缩纹理标准解码操作中的后续流程,执行步骤7;
步骤4、在压缩纹理历史信息中获取渲染时间戳处于当前批量解码阶段与下一个批量解码阶段之间的压缩纹理,由这些压缩纹理形成第二待渲染纹理列表;
步骤5、若采用CPU执行解码操作,则创建多个CPU线程按照渲染时间戳从先到后的顺序分别加载由第一待渲染纹理列表和第二待渲染纹理列表组成的压缩纹理队列中的压缩纹理并执行第一解码操作,执行步骤7;若采用GPU执行解码操作,则创建OpenGL线程或DirectX线程按照渲染时间戳从先到后的顺序分别加载由第一待渲染纹理列表和第二待渲染纹理列表组成的压缩纹理队列中的压缩纹理并执行第一解码操作,执行步骤7;
步骤6、应用解码压缩纹理时记录当前压缩纹理的纹理ID、纹理大小及解码时间戳,跳过当前压缩纹理标准解码操作中的后续流程,执行步骤7;
步骤7、应用渲染或处理压缩纹理时,当前压缩纹理为子纹理则记录当前压缩纹理的纹理ID、渲染时间戳及偏移坐标,若当前压缩纹理未被解码则根据纹理ID加载压缩纹理并执行标准解码操作执行步骤8;否则执行步骤8;当前压缩纹理为父纹理则记录当前压缩纹理的纹理ID及渲染时间戳,若当前压缩纹理未被解码则根据纹理ID加载压缩纹理并执行标准解码操作执行步骤8;否则执行步骤8;
步骤8、若为OpenGL线程或DirectX线程执行解码操作则将解码后的当前压缩纹理绑定到当前渲染上下文执行渲染操作;否则对当前压缩纹理执行渲染操作;再将当前压缩纹理从压缩纹理队列中删除;应用退出时,保存应用对应的压缩纹理历史信息。
2.根据权利要求1所述的压缩纹理渲染优化方法,其特征在于,所述步骤1中所述应用被加载时查找其对应的压缩纹理历史信息的方式为:根据应用的唯一标识查找应用对应的压缩纹理历史信息。
3.根据权利要求2所述的压缩纹理渲染优化方法,其特征在于,所述应用的唯一标识为:应用的哈希值。
4.根据权利要求1所述的压缩纹理渲染优化方法,其特征在于,所述步骤1中所述第一时间间隔为:500毫秒。
5.根据权利要求1所述的压缩纹理渲染优化方法,其特征在于,所述步骤3中所述第二时间间隔为:3秒。
6.根据权利要求1所述的压缩纹理渲染优化方法,其特征在于,所述步骤5中所述第一解码操作为:标准解码操作。
7.根据权利要求1所述的压缩纹理渲染优化方法,其特征在于,所述步骤5中所述第一解码操作为:若压缩纹理为父纹理,则获取该父纹理在渲染时被使用的所有子纹理,若由这些子纹理组成的矩形覆盖了父纹理的大小,则对该父纹理执行标准解码操作;否则若压缩纹理为子纹理且其父纹理未被解码,则根据子纹理的偏移坐标和纹理大小将其父纹理执行部分解码,并将得到的纹理封装为完整纹理对象。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310838469.1A CN116597062B (zh) | 2023-07-10 | 2023-07-10 | 一种基于动态自适应解码的压缩纹理渲染优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310838469.1A CN116597062B (zh) | 2023-07-10 | 2023-07-10 | 一种基于动态自适应解码的压缩纹理渲染优化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116597062A CN116597062A (zh) | 2023-08-15 |
CN116597062B true CN116597062B (zh) | 2024-02-09 |
Family
ID=87601166
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310838469.1A Active CN116597062B (zh) | 2023-07-10 | 2023-07-10 | 一种基于动态自适应解码的压缩纹理渲染优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116597062B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103765895A (zh) * | 2011-06-24 | 2014-04-30 | Lg电子株式会社 | 使用跳跃模式的编码/解码方法和装置 |
CN105389159A (zh) * | 2014-09-03 | 2016-03-09 | 优视科技有限公司 | 图片渲染方法、装置和移动终端 |
KR20190018960A (ko) * | 2017-08-16 | 2019-02-26 | 광운대학교 산학협력단 | 음성 신호 부호화 이력 검출 장치 및 음성 신호 부호화 이력 검출 장치의 동작 방법 |
CN115131675A (zh) * | 2022-06-28 | 2022-09-30 | 武汉大学 | 一种基于参考影像纹理迁移的遥感影像压缩方法及系统 |
CN115761090A (zh) * | 2022-11-17 | 2023-03-07 | 北京字跳网络技术有限公司 | 特效渲染方法、装置、设备、计算机可读存储介质及产品 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113034629B (zh) * | 2021-05-17 | 2021-08-20 | 腾讯科技(深圳)有限公司 | 图像处理方法、装置、计算机设备及存储介质 |
-
2023
- 2023-07-10 CN CN202310838469.1A patent/CN116597062B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103765895A (zh) * | 2011-06-24 | 2014-04-30 | Lg电子株式会社 | 使用跳跃模式的编码/解码方法和装置 |
CN105389159A (zh) * | 2014-09-03 | 2016-03-09 | 优视科技有限公司 | 图片渲染方法、装置和移动终端 |
KR20190018960A (ko) * | 2017-08-16 | 2019-02-26 | 광운대학교 산학협력단 | 음성 신호 부호화 이력 검출 장치 및 음성 신호 부호화 이력 검출 장치의 동작 방법 |
CN115131675A (zh) * | 2022-06-28 | 2022-09-30 | 武汉大学 | 一种基于参考影像纹理迁移的遥感影像压缩方法及系统 |
CN115761090A (zh) * | 2022-11-17 | 2023-03-07 | 北京字跳网络技术有限公司 | 特效渲染方法、装置、设备、计算机可读存储介质及产品 |
Also Published As
Publication number | Publication date |
---|---|
CN116597062A (zh) | 2023-08-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10297003B2 (en) | Efficient saving and restoring of context information for context switches | |
US10089775B2 (en) | Automated graphics and compute tile interleave | |
CN106156278B (zh) | 一种数据库数据读写方法和装置 | |
US20150193969A1 (en) | Graphics processing | |
KR101564859B1 (ko) | 그래픽 프로세싱을 위한 메모리 복사 엔진 | |
US6618728B1 (en) | Multi-process compression | |
US20130069943A1 (en) | Optimizing resolve performance with tiling graphics architectures | |
US20070291044A1 (en) | Systems and Methods for Border Color Handling in a Graphics Processing Unit | |
CN101604454A (zh) | 图形处理系统 | |
US7885336B2 (en) | Programmable shader-based motion compensation apparatus and method | |
US20130141448A1 (en) | Graphics Command Generation Device and Graphics Command Generation Method | |
US20230360321A1 (en) | Shader binding management in ray tracing | |
CN111400016B (zh) | 一种调用应用程序接口函数的方法和设备 | |
CN105247478B (zh) | 用于存储命令的方法及相关装置 | |
CN116597062B (zh) | 一种基于动态自适应解码的压缩纹理渲染优化方法 | |
CN1163079C (zh) | 用于视频解码的方法和设备 | |
CN111414150B (zh) | 游戏引擎渲染方法、装置、电子设备及计算机存储介质 | |
CN109710227B (zh) | 一种纹理图集调度的方法 | |
CN111798361A (zh) | 渲染方法、装置、电子设备及计算机可读存储介质 | |
CN101183366B (zh) | 一种图片文件处理方法和系统 | |
KR102253788B1 (ko) | 마이크로프로세서 시스템에서의 다차원 인덱싱 방법 및 장치 | |
CN115049531B (zh) | 图像渲染方法、装置、图形处理设备及存储介质 | |
US11361400B1 (en) | Full tile primitives in tile-based graphics processing | |
US10157443B1 (en) | Deferred batching of incremental constant loads | |
US20020188835A1 (en) | Method for memory optimization in a digital signal processor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |