logo好方法网

一种渲染引擎中的数据缓存方法和装置


技术摘要:
本申请实施例的目的是提供一种本申请实施例的目的是提供一种渲染引擎中的数据缓存方法和装置。本申请实施例提供的一种渲染引擎中的数据缓存方法,包括:在渲染引擎中使用多个缓存块对需要渲染的字体进行缓存。本申请实施例具有以下优点:本申请实施例通过贴图中的多个  全部
背景技术:
现有的渲染引擎中的字体缓存逻辑对贴图的利用率较低。例如,UE4引擎中的字体 缓存逻辑采用二分法,以分割贴图的方式获取新的缓存空间,即每次将贴图分割为一个大 空间和一个小空间。如果需要缓存字体都比较大时,小空间的利用率较低,使得贴图空间容 易被占满,从而需要新的贴图来缓存字体,因而造成内存空间的浪费。并且,现有的渲染引 擎中对贴图的纹理缓存逻辑也可能造成内存空间的浪费。
技术实现要素:
本申请实施例的目的是提供一种渲染引擎中的数据缓存方法和装置。 本申请实施例提供的一种渲染引擎中的数据缓存方法,包括:在渲染引擎中使用 多个缓存块对需要渲染的字体进行缓存。 根据本申请的实施例,所述方法进一步包括:通过对用于缓存字体的贴图进行切 割得到多个相同大小的正方形,使得每个正方形作为一种字体的某个字号的缓存块;在各 个缓存块中存储相应大小和字体的文字的字体贴图数据;在渲染文字的过程中,基于待渲 染文字的大小和字体,从相应的缓存块中加载贴图。 根据本申请的实施例,所述通过对用于缓存字体的贴图进行切割得到多个相同大 小的正方形包括:通过对用于缓存字体的贴图进行切割得到64个相同大小的正方形,以使 用64个缓存块对需要渲染的字体进行缓存。 根据本申请的实施例,所述方法进一步包括:记录缓存块中各个文字的使用频率 信息;如果一缓存块已满,将其中使用频率最低的一个或多个文字对应的缓存空间回收。 根据本申请的实施例,所述方法进一步包括:创建或更新用于查找特定字体和大 小的字体贴图数据的映射表。 根据本申请的实施例,所述方法进一步包括:使用不同的数据段在字体文件中加 载相应的字体贴图信息和字体描边信息;对该字体贴图信息和字体描边信息进行打包,得 到相应的字体打包数据;在渲染文字时通过字体打包数据进行解包操作,得到相应的字体 贴图信息和字体描边信息,使得渲染后的文字具有描边效果。 根据本申请的实施例,所述方法进一步包括:基于预定的时间间隔在渲染线程中 更新缓存字体的贴图 根据本申请的实施例,所述方法进一步包括:在渲染的过程中,记录使用过的各个 贴图的使用频率信息;根据各个贴图的使用频率信息,将使用频率低于预定阈值的贴图对 应的纹理销毁。 根据本申请的实施例,所述方法进一步包括:创建或更新贴图的加载路径和纹理 的映射表。 3 CN 111581910 A 说 明 书 2/10 页 根据本申请的实施例,所述方法进一步包括:如果已销毁的贴图重新被访问,则根 据该贴图的加载路径进行异步加载。 根据本申请的实施例,所述根据该贴图的加载路径进行异步加载进一步包括:在 异步加载的过程中不对该贴图对应的数据进行渲染,或者,使用默认的贴图代替该贴图。 本申请实施例提供的一种渲染引擎中的数据缓存装置,包括:用于在渲染引擎中 使用多个缓存块对需要渲染的字体进行缓存的装置。。 根据本申请的实施例,所述缓存装置进一步包括:用于通过对用于缓存字体的贴 图进行切割得到多个相同大小的正方形,使得每个正方形作为一种字体的某个字号的缓存 块的装置;用于在各个缓存块中存储相应大小和字体的文字的字体贴图数据的装置;用于 在渲染文字的过程中,基于待渲染文字的大小和字体,从相应的缓存块中加载贴图的装置。 根据本申请的实施例,所述缓存装置进一步包括用于记录缓存块中各个文字的使 用频率信息的装置;用于如果一缓存块已满,将其中使用频率最低的一个或多个文字对应 的缓存空间回收的装置。 根据本申请的实施例,所述数据缓存装置进一步包括:用于创建或更新用于查找 特定字体和大小的字体贴图数据的映射表的装置。 根据本申请的实施例,所述数据缓存装置进一步包括:用于创建或更新用于查找 特定字体和大小的字体贴图数据的映射表的装置。 根据本申请的实施例,所述数据缓存装置进一步包括:用于基于预定的时间间隔 在渲染线程中更新缓存字体的贴图的装置。 根据本申请的实施例,所述数据缓存装置进一步包括:用于在渲染的过程中,记录 使用过的各个贴图的使用频率信息的装置;用于根据各个贴图的使用频率信息,将使用频 率低于预定阈值的贴图对应的纹理销毁的装置。 根据本申请的实施例,所述数据缓存装置进一步包括:用于创建或更新贴图的加 载路径和纹理的映射表的装置。 根据本申请的实施例,所述数据缓存装置进一步包括:用于如果已销毁的贴图重 新被访问,则根据该贴图的加载路径进行异步加载的装置。 根据本申请的实施例,所述根据该贴图的加载路径进行异步加载进一步包括:在 异步加载的过程中不对该贴图对应的数据进行渲染,或者,使用默认的贴图代替该贴图。 本申请实施例提供的一种计算机设备,包括存储器、处理器及存储在存储器上并 可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如本申请 实施例所述的方法。 本申请实施例提供的一种计算机可读的存储介质,其上存储有计算机程序,其特 征在于,该程序被处理器执行时实现如如本申请实施例所述的方法。 本申请实施例具有以下优点:本申请实施例通过贴图中的多个缓存块来缓存所需 要的多种字体,节省了缓存字体所占用的内存空间,提升了效率;并且,本申请实施例通过 将使用率低的贴图对应的纹理销毁,进一步节省了内存空间。 附图说明 通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它 4 CN 111581910 A 说 明 书 3/10 页 特征、目的和优点将会变得更明显: 图1示出了根据本申请实施例的一种渲染引擎中的数据缓存方法的流程图; 图2示出了根据本申请实施例的缓存字体的方法流程图; 图3示出了根据本申请实施例的缓存贴图的方法流程图; 图4示出了根据本申请实施例的一种数据缓存装置的结构示意图; 图5示出了根据本申请实施例的用于缓存字体的数据缓存装置的结构示意图; 图6示出了根据本申请实施例的用于缓存贴图的数据缓存装置的结构示意图。 附图中相同或相似的附图标记代表相同或相似的部件。
下载此资料需消耗2积分,
分享到:
收藏