CN112052097A - 虚拟场景的渲染资源处理方法、装置、设备及存储介质 - Google Patents

虚拟场景的渲染资源处理方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN112052097A
CN112052097A CN202011101016.3A CN202011101016A CN112052097A CN 112052097 A CN112052097 A CN 112052097A CN 202011101016 A CN202011101016 A CN 202011101016A CN 112052097 A CN112052097 A CN 112052097A
Authority
CN
China
Prior art keywords
rendering
cache
resources
resource
current
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.)
Granted
Application number
CN202011101016.3A
Other languages
English (en)
Other versions
CN112052097B (zh
Inventor
曾国亮
王旭新
李振
朱光育
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202011101016.3A priority Critical patent/CN112052097B/zh
Publication of CN112052097A publication Critical patent/CN112052097A/zh
Application granted granted Critical
Publication of CN112052097B publication Critical patent/CN112052097B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5022Mechanisms to release resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本申请实施例提供了一种虚拟场景的渲染资源处理方法、装置、设备及计算机可读存储介质;方法包括:获取虚拟场景的帧率、以及未缓存的渲染资源的访问频率,确定与帧率正相关、且与访问频率负相关的自适应参数;获取缓存渲染资源数量,其中,缓存渲染资源数量是缓存设备中的渲染资源的数量,缓存设备中的渲染资源用于响应渲染请求,以渲染虚拟场景;比较缓存渲染资源数量和缓存渲染资源数量阈值,以确定缓存设备的空间使用状态;基于自适应参数,对缓存设备中的渲染资源执行与空间使用状态适配的释放处理。通过本申请实施例,能够有效管理缓存设备中的渲染资源,并使得释放后的缓存设备中的渲染资源能够有效维持稳定的帧率。

Description

虚拟场景的渲染资源处理方法、装置、设备及存储介质
技术领域
本申请涉及计算机应用领域中的存储管理技术,尤其涉及一种虚拟场景的渲染资源处理方法、装置、设备及计算机可读存储介质。
背景技术
目前,通常借助内存或高速缓存等缓存设备来实现虚拟场景的渲染;然而,缓存设备的存储空间是有限的,渲染虚拟场景所需的总渲染资源对应的空间量远远超过客户端设备中缓存设备的存储空间;然而,如何对缓存设备中的渲染资源进行有效管理,及时地释放出缓存设备中的闲置渲染资源所占用的缓存空间,并保证虚拟场景渲染的流畅程度,还没有有效的解决方案。
发明内容
本申请实施例提供一种虚拟场景的渲染资源处理方法、装置、设备及计算机可读存储介质,能够有效管理缓存设备中的渲染资源,并使得释放后的缓存设备中的渲染资源能够有效维持稳定的帧率。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种虚拟场景的渲染资源处理方法,包括:
获取虚拟场景的帧率、以及未缓存的渲染资源的访问频率,确定与所述帧率正相关、且与所述访问频率负相关的自适应参数;
获取缓存渲染资源数量,其中,所述缓存渲染资源数量是缓存设备中的渲染资源的数量,所述缓存设备中的渲染资源用于响应渲染请求,以渲染所述虚拟场景;
比较所述缓存渲染资源数量和缓存渲染资源数量阈值,以确定所述缓存设备的空间使用状态;
基于所述自适应参数,对所述缓存设备中的渲染资源执行与所述空间使用状态适配的释放处理。
本申请实施例提供一种虚拟场景的渲染资源处理装置,包括:
参数获取模块,用于获取虚拟场景的帧率、以及未缓存的渲染资源的访问频率,确定与所述帧率正相关、且与所述访问频率负相关的自适应参数;
数量获取模块,用于获取缓存渲染资源数量,其中,所述缓存渲染资源数量是缓存设备中的渲染资源的数量,所述缓存设备中的渲染资源用于响应渲染请求,以渲染所述虚拟场景;
状态获取模块,用于比较所述缓存渲染资源数量和缓存渲染资源数量阈值,以确定所述缓存设备的空间使用状态;
释放处理模块,用于基于所述自适应参数,对所述缓存设备中的渲染资源执行与所述空间使用状态适配的释放处理。
在本申请实施例中,所述释放处理模块,还用于当所述空间使用状态为所述缓存渲染资源数量大于所述缓存渲染资源数量阈值时,遍历所述缓存设备中的渲染资源;基于所述自适应参数,缩短遍历到的当前渲染资源的当前存活时间,确定缩短后的当前存活时间小于所述当前渲染资源的当前已闲置时间时,释放所述当前渲染资源所占用的缓存空间,直到释放后的所述缓存设备中的渲染资源的数量小于或等于所述缓存渲染资源数量阈值时,停止释放,完成与所述空间使用状态适配的释放处理。
在本申请实施例中,所述释放处理模块,还用于当所述空间使用状态为所述缓存渲染资源数量小于或等于所述缓存渲染资源数量阈值时,基于所述自适应参数增大预设查询间隔;在增大的预设查询间隔对应的时间到达时,遍历所述缓存设备中的渲染资源;获取遍历到的当前渲染资源的当前已闲置时间;当所述当前渲染资源的当前存活时间小于或等于所述当前已闲置时间时,释放所述当前渲染资源所占用的缓存空间,完成与所述空间使用状态适配的释放处理。
在本申请实施例中,所述参数获取模块,还用于获取所述访问频率与所述帧率的目标比值;确定与所述目标比值相关的所述自适应参数。
在本申请实施例中,所述虚拟场景的渲染资源处理装置还包括时间设置模块,用于获取所述缓存设备中的每个渲染资源的访问概率;基于所述缓存设备的存储空间,确定设备空间参数;基于所述每个渲染资源的访问概率、所述设备空间参数和预设时间参数,确定所述每个渲染资源的存活时间。
在本申请实施例中,所述时间设置模块,还用于获取所述缓存设备中的每个渲染资源的引用采样数据;基于所述引用采样数据,统计所述每个渲染资源的多个初始访问概率;基于所述多个初始访问概率,确定所述每个渲染资源的访问概率。
在本申请实施例中,所述缓存设备中的每个渲染资源为渲染素材的一个渲染等级对应的多细节层次等级渲染资源;其中,所述渲染素材对应多个渲染等级的多个多细节层次等级渲染资源,所述多个渲染等级与所述多个多细节层次等级渲染资源一一对应,一个渲染等级对应一种渲染精度。
在本申请实施例中,所述虚拟场景的渲染资源处理装置还包括资源缓存模块,用于获取渲染资源缓存请求;响应所述渲染资源缓存请求,确定渲染素材标识和所述目标渲染等级,其中,所述渲染素材标识用于表示所述渲染素材;从非易失性存储设备中,获取与所述渲染素材标识所对应的所述多个渲染等级的所述多个多细节层次等级渲染资源;将所述多个多细节层次等级渲染资源中与所述目标渲染等级对应的多细节层次等级渲染资源,读取到所述缓存设备中。
在本申请实施例中,所述虚拟场景的渲染资源处理装置还包括处理触发模块,用于获取未缓存的渲染资源访问请求,所述未缓存的渲染资源访问请求是基于所述渲染请求生成的。
在本申请实施例中,所述参数获取模块,还用于响应所述未缓存的渲染资源访问请求,获取所述虚拟场景的所述帧率。
在本申请实施例中,所述处理触发模块,还用于基于预设查询间隔,检测空间释放时间;
在本申请实施例中,所述参数获取模块,还用于当所述空间释放时间到达时,获取所述虚拟场景的所述帧率。
在本申请实施例中,所述释放处理模块,还用于获取遍历到的所述当前渲染资源的引用释放时间,所述引用释放时间为所述虚拟场景的渲染过程中释放引用所述当前渲染资源的最近时间;获取当前时间;基于所述当前时间与所述引用释放时间之间的间隔时间,确定所述当前已闲置时间。
在本申请实施例中,所述释放处理模块,还用于当所述当前渲染资源对应的当前存活时间小于或等于所述当前已闲置时间时,获取所述当前渲染资源对应的视角信息;获取所述视角信息对应的渲染资源集合中的剩余渲染资源,所述剩余渲染资源为所述渲染资源集合中除所述当前渲染资源之外的渲染资源;当所述剩余渲染资源未缓存在所述缓存设备中时,释放所述当前渲染资源所占用的存储空间。
本申请实施例提供一种虚拟场景的渲染资源处理设备,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现本申请实施例提供的虚拟场景的渲染资源处理方法。
本申请实施例提供一种计算机可读存储介质,存储有可执行指令,用于引起处理器执行时,实现本申请实施例提供的虚拟场景的渲染资源处理方法。
本申请实施例至少具有以下有益效果:基于自适应参数和空间使用状态的释放机制,通过适配不同的空间使用状态,以与帧率正相关、与访问频率负相关作为对缓存设备中的渲染资源执行释放处理的参考,使得缓存设备中的渲染资源被释放后能够有效维持帧率和未缓存的渲染资源的访问频率之间的均衡;从而,能够有效管理缓存设备中的渲染资源,并使得释放后的缓存设备中的渲染资源也能够有效维持稳定的帧率。
附图说明
图1是本申请实施例提供的虚拟场景的渲染资源处理系统的一个可选的架构示意图;
图2是本申请实施例提供的一种图1中的终端的组成结构示意图;
图3是本申请实施例提供的虚拟场景的渲染资源处理方法的一个可选的流程示意图;
图4是本申请实施例提供的虚拟场景的渲染资源处理方法的另一个可选的流程示意图;
图5是本申请实施例提供的虚拟场景的渲染资源处理方法的又一个可选的流程示意图;
图6是本申请实施例提供的虚拟场景的渲染资源处理方法的再一个可选的流程示意图;
图7是本申请实施例提供的虚拟场景的渲染资源处理方法的再又一个可选的流程示意图;
图8是本申请实施例提供的虚拟场景的渲染资源处理方法的又另一个可选的流程示意图;
图9是本申请实施例提供的一种示例性的虚拟场景的渲染资源处理方法的实现流程图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
1)渲染资源,指运行应用渲染虚拟场景时用于渲染渲染素材(人物、树和房子等)的信息,对应于;在本申请实施例中,一个渲染素材与至少一个渲染资源对应。
2)渲染资源所占用的缓存空间,指应用运行时读取到的渲染资源,存储在内存或高速缓存等缓存设备中时所占用的存储空间;比如,游戏运行时读取渲染资源后,该渲染资源在内存中所占用的内存空间。
3)客户端设备,指运行应用的设备,比如运行游戏的移动端设备(智能手机或平板等)。
4)缓存设备,指内存或高速缓存等用于缓存运行应用所需的渲染资源的易失性存储装置,比如,随机存储器;一般来说,缓存的容量有限,比如,1G或者2G的容量。
5)自适应技术,指根据某种条件处理数据的数据特征时,能够自动调整处理方法、处理顺序、处理参数、边界条件或约束条件,使其与所处理数据的统计分布特征、结构特征相适应,以取得最佳的处理效果的过程;在本申请实施例中,利用自适应技术释放缓存中渲染资源所占用的缓存空间。
6)LOD(Levels of Detail,多细节层次)技术,根据物体模型的节点在显示环境中所处的位置和重要度,决定物体渲染的渲染资源分配,降低非重要物体的面数和细节度,从而获得高效率的渲染运算的技术。在本申请实施例中,渲染资源可以是利用LOD技术确定的LOD等级渲染资源,也就是说,渲染素材对应多个LOD等级;其中,针对多LOD等级的确定,比如,在一些多视角的中大型游戏中,根据相机视角与场景里的渲染资源物件的距离进行划分,也就得到了多个LOD等级(LOD 0、LOD 1、LOD 2……;其中,LOD0是最高清的渲染资源,占用的缓存的空间最大,LOD等级越大渲染资源越不清晰,占用的缓存的空间越小)。另外,在本申请实施例中,渲染资源也可以是不区分LOD等级的渲染资源。
7)置换算法,指确定待释放的渲染资源的算法,比如,LRU(Least Recently Used,最近最少使用页面置换)算法,一种基于访问时间的置换算法,将最近最久未引用的渲染资源从缓存中淘汰(卸载);LRU算法赋予每个渲染资源一个访问字段,用来记录一个渲染资源自上次被访问以来所经历的时间,当需淘汰一个渲染资源时,释放出缓存的渲染资源中的时间值最大的渲染资源所占用的缓存空间。又比如,LFU(Least Frequently Used,最近最不常用页面置换)算法,一种基于访问频率的置换算法,其中,访问频率指渲染资源的一段时间内的访问次数。再比如,LRU-K算法,LRU的优化算法,渲染资源访问次数达到K次后,才进入LRU算法流程,是一种基于访问时间与访问频率的置换算法。另外比如,LRU算法和LFU算法的混合算法LRFU算法。在本申请实施例,置换算法用与释放闲置的渲染资源。
8)命中,指所访问的渲染资源为缓存设备中所缓存的渲染资源;对应地,未命中,指所访问的渲染资源未存储在缓存设备中,而需要重新从非易失性存储设备(比如,硬盘或内存)中加载渲染资源到缓存。另外,命中数指渲染资源访问时命中的次数;未命中数指渲染资源访问时未命中的次数;命中率=命中数/(命中数+未命中数),易知,命中率越高,表示渲染资源不需要从非易失性存储设备中加载渲染资源,直接使用缓存设备中所缓存的渲染资源,能够减少CPU的性能消耗。
9)闲置渲染资源,指当前无任何引用的渲染资源,可以被直接从缓存设备中卸载,对应用的运行可行性不产生任何影响。
目前,通常借助内存或高速缓存等缓存设备来实现虚拟场景的渲染;然而,缓存设备的空间是有限的,渲染虚拟场景所需的渲染资源总量所需空间大小远远超过客户端设备中缓存设备的空间大小,客户端设备中的缓存设备仅能缓存渲染虚拟场景所需渲染资源中的部分渲染资源,当虚拟场景的渲染需要引用的渲染资源未缓存在缓存中时,则需要从速度较慢的存储装置中加载渲染资源;因此,及时地释放出缓存设备中的闲置渲染资源所占用的缓存空间,来缓存待引用的渲染资源,是提升虚拟场景渲染效率的关键。
一般来说,为了及时地释放出缓存设备中的闲置渲染资源所占用的空间,通常采用最近最少使用页面置换算法释放缓存设备中的闲置渲染资源所占用的缓存空间。然而,上述释放缓存设备中的闲置渲染资源所占用的缓存空间时,由于最近最少使用页面置换算法是将缓存设备中最近最久未被引用的渲染资源所占用的缓存空间进行释放,而针对偶发性引用的渲染资源所占用的缓存空间则无法进行释放;因此,释放缓存设备中的闲置渲染资源所占用缓存空间的及时性较低。
一般来说,为了及时地释放出缓存设备中的闲置渲染资源所占用的空间,通常采用直接卸载闲置渲染资源来释放缓存空间;虽然直接卸载闲置渲染资源简单有效,未引入新的CPU消耗和空间消耗,但命中率较低,从而应用运行而渲染虚拟场景的过程中CPU性能消耗较大。
另外,为了及时地释放出缓存设备中的闲置渲染资源所占用的缓存空间,还可以采用置换算法释放缓存设备中的闲置渲染资源所占用的缓存空间;比如,LRU算法、LRFU算法、LRU-K算法和LRU算法等。然而,LRU算法、LRF U算法、LRU-K算法和LRU算法等,需要渲染资源的访问历史记录,且需要进行不同程度地排序,性能消耗较大;其中,LRU算法的性能消耗相对较小,但由于LRU算法是将缓存设备中最近最久未被引用的渲染资源所占用的缓存空间进行释放,而针对偶发性引用的渲染资源所占用的缓存空间则无法进行释放,因此,释放缓存设备中的闲置渲染资源所占用的缓存空间的及时性较低;从而,存在缓存污染问题,缓存设备中的渲染资源的命中率较低。
基于此,本申请实施例提供一种虚拟场景的渲染资源处理方法、装置、设备和计算机可读存储介质,能够解决缓存污染问题,提升缓存的渲染资源的命中率。下面说明本申请实施例提供的虚拟场景的渲染资源处理设备的示例性应用,本申请实施例提供的虚拟场景的渲染资源处理设备可以实施为笔记本电脑,平板电脑,台式计算机,机顶盒,移动设备(例如,移动电话,便携式音乐播放器,个人数字助理,专用消息设备,便携式游戏设备)等各种类型的用户终端,也可以实施为服务器。下面,将说明设备实施为终端时的示例性应用。
参见图1,图1是本申请实施例提供的虚拟场景的渲染资源处理系统的一个可选的架构示意图;如图1所示,为支撑一个虚拟场景的渲染资源处理应用,在虚拟场景的渲染资源处理系统100中,终端400(虚拟场景的渲染资源处理设备)通过网络300连接服务器200,网络300可以是广域网或者局域网,又或者是二者的组合。另外,该虚拟场景的渲染资源处理系统100中,还包括数据库500,用于向服务器200提供数据支持。
终端400,用于运行目标应用进行虚拟场景的渲染的过程中,接收渲染请求,响应渲染请求,访问渲染资源以在图形界面400-1上完成渲染素材的展示时,如果确定所访问的渲染资源未缓存在缓存设备(示例性地示出了内存400-2)中,则获取虚拟场景的帧率、以及未缓存的渲染资源的访问频率,确定与帧率正相关、且与访问频率负相关的自适应参数;获取缓存渲染资源数量,其中,缓存渲染资源数量是缓存设备(内存400-2)中的渲染资源的数量,缓存设备中的渲染资源用于响应渲染请求,以渲染虚拟场景;比较缓存渲染资源数量和缓存渲染资源数量阈值,以确定缓存设备的空间使用状态;基于自适应参数,对缓存设备中的渲染资源执行与空间使用状态适配的释放处理;从而,从非易失性存储设备(示例性地示出了硬盘400-3)获取所访问的渲染资源,并将所访问的渲染资源读取到缓存设备中,以及在图形界面400-1上完成所访问的渲染资源对应的渲染素材的渲染。如果确定所访问的渲染资源缓存在缓存设备中,则引用缓存设备中的渲染资源以在图形界面400-1上完成所访问的渲染资源对应的渲染素材的渲染。还用于向服务器200发送访问渲染资源的访问信息,并接收服务器200发送的各个渲染资源分别对应的存活时间或引用采样数据。
服务器200,用于接收终端400发送的访问渲染资源的访问信息,根据访问信息确定各个渲染资源分别对应的存活时间并向终端400发送,或者将访问信息进行整合以向终端400发送各个渲染资源分别对应的存活时间或引用采样数据。还用于向终端400提供应用服务,以实现目标应用的运行。
在一些实施例中,服务器200可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端400可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本发明实施例中不做限制。
参见图2,图2是本申请实施例提供的一种图1中的终端的组成结构示意图,图2所示的终端400包括:至少一个处理器410、存储器450、至少一个网络接口420和用户接口430。终端400中的各个组件通过总线系统440耦合在一起。可理解,总线系统440用于实现这些组件之间的连接通信。总线系统440除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统440。
处理器410可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
用户接口430包括使得能够呈现媒体内容的一个或多个输出装置431,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口430还包括一个或多个输入装置432,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
存储器450可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器450可选地包括在物理位置上远离处理器410的一个或多个存储设备。
存储器450包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Me mory),易失性存储器可以是随机存取存储器(RAM,Random Access Memor y)。本申请实施例描述的存储器450旨在包括任意适合类型的存储器。
在一些实施例中,存储器450能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统451,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块452,用于经由一个或多个(有线或无线)网络接口420到达其他计算设备,示例性的网络接口420包括:蓝牙、无线相容性认证(Wi-Fi)、和通用串行总线(USB,Universal Serial Bus)等;
显示模块453,用于经由一个或多个与用户接口430相关联的输出装置431(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);
输入处理模块454,用于对一个或多个来自一个或多个输入装置432之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本申请实施例提供的虚拟场景的渲染资源处理装置可以采用软件方式实现,图2示出了存储在存储器450中的虚拟场景的渲染资源处理装置455,其可以是程序和插件等形式的软件,包括以下软件模块:参数获取模块4551、数量获取模块4552、状态获取模块4553、释放处理模块4554、时间设置模块4555、资源缓存模块4556和处理触发模块4557,这些模块是逻辑上的,因此,根据所实现的功能可以进行任意的组合或进一步拆分。
将在下文中说明各个模块的功能。
在另一些实施例中,本申请实施例提供的虚拟场景的渲染资源处理装置可以采用硬件方式实现,作为示例,本申请实施例提供的虚拟场景的渲染资源处理装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的虚拟场景的渲染资源处理方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Specific Integrate d Circuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable LogicDevice)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)或其他电子元件。
下面,将结合本申请实施例提供的终端的示例性应用和实施,说明本申请实施例提供的虚拟场景的渲染资源处理方法。
参见图3,图3是本申请实施例提供的虚拟场景的渲染资源处理方法的一个可选的流程示意图,将结合图3示出的步骤进行说明。
S301、获取虚拟场景的帧率、以及未缓存的渲染资源的访问频率,确定与帧率正相关、且与访问频率负相关的自适应参数。
在本申请实施例中,当运行目标应用渲染虚拟场景时,终端获取预设时间段内所渲染的虚拟场景图像的数量,也就得到了虚拟场景的帧率;比如,游戏运行帧率或动画渲染帧率等;易知,帧率用于衡量所渲染的虚拟场景的画面流畅程度,帧率越大,表明所渲染的虚拟场景的画面越流畅。这里,目标应用为涉及虚拟场景的渲染应用,比如,游戏应用、社交应用等。
另外,虚拟场景的渲染,是通过访问渲染资源实现的,由于缓存设备对应的存储空间是有限的,无法缓存虚拟场景渲染时所需的全部的渲染资源,因此,终端获取所访问的渲染资源时未缓存在缓存设备上的频率,也就得到了未缓存的渲染资源的访问频率;易知,从缓存设备外的其他的非易失性存储设备读取所访问的渲染资源时,速度较慢,从而,访问频率用于衡量缓存设备中的渲染资源的命中率,访问频率越小,缓存设备上所缓存的渲染资源的命中率越高,且所渲染的虚拟场景的画面流畅度越高。其中,缓存设备为终端中的易失性存储空间,比如,内存等。
这里,终端获得了帧率和访问频率之后,由于帧率和访问频率均是影响虚拟场景画面流畅度的因素,因此,终端基于帧率和访问频率,确定出根据画面流畅程度而自动变化取值的参数,也就得到了自适应参数;其中,该自适应参数与帧率正相关、且与访问频率负相关。
S302、获取缓存渲染资源数量。
在本申请实施例中,运行目标应用渲染虚拟场景的过程中,缓存设备中缓存着至少一个渲染资源,终端获取该至少一个渲染资源所对应的渲染资源的数量,也就得到了缓存渲染资源数量;比如,当缓存设备中存储渲染资源1、渲染资源2、…、渲染资源y时,缓存渲染资源数量即为y,y是正整数。
需要说明的是,当运行目标应用进行虚拟场景的渲染时,渲染场景是不断变化的;渲染场景的变化伴随着渲染资源的访问;为了提升渲染资源的访问效率,通常在内存或高速缓存等缓存设备中缓存渲染资源,通过缓存设备中的渲染资源,实现渲染资源的访问;这里,渲染资源的访问是基于渲染请求触发的;也就是说,缓存设备中的渲染资源用于响应渲染请求,以渲染虚拟场景,实现目标应用的运行。
S303、比较缓存渲染资源数量和缓存渲染资源数量阈值,以确定缓存设备的空间使用状态。
在本申请实施例中,终端中设置有缓存渲染资源数量阈值,或者终端能够获取到该缓存渲染资源数量,该缓存渲染资源数量用于控制缓存设备中的渲染资源所占用缓存空间的释放频率。从而,终端获得了缓存渲染资源数量之后,将该缓存渲染资源数量与缓存渲染资源数量阈值进行比较,基于比较结果就能够确定出用于调整缓存设备中的渲染资源所占用缓存空间的释放频率的信息,即空间使用状态。
需要说明的是,空间使用状态用于表征缓存设备的空间使用情况,包括两种情况,一种为缓存渲染资源数量大于缓存渲染资源数量阈值,另一种为缓存渲染资源数量小于或等于缓存渲染资源数量阈值。
S304、基于自适应参数,对缓存设备中的渲染资源执行与空间使用状态适配的释放处理。
需要说明的是,空间使用状态决定着缓存设备的释放策略,不同的空间使用状态采用不同的释放策略。这里,终端在基于空间使用状态确定了缓存设备中的渲染资源的释放策略之后,基于自适应参数对缓存设备中的渲染资源执行与释放策略对应的释放处理。其中,释放策略包括增大释放频率的策略和减小释放频率的策略,增大释放频率的策略,与缓存渲染资源数量大于缓存渲染资源数量阈值的空间使用状态对应,基于自适应参数实现增大释放频率的策略,以对缓存设备中的渲染资源执行与空间使用状态适配的释放处理;减小释放频率的策略,与缓存渲染资源数量大于缓存渲染资源数量阈值的空间使用状态对应,基于自适应参数执行增大释放频率的策略,以对缓存设备中的渲染资源执行与空间使用状态适配的释放处理。
可以理解的是,基于自适应参数和空间使用状态的释放机制,通过适配不同的空间使用状态,以与帧率正相关、与访问频率负相关作为对缓存设备中的渲染资源执行释放处理的参考,使得缓存设备中的渲染资源被释放后能够有效维持帧率和未缓存的渲染资源的访问频率之间的均衡;从而,能够有效管理缓存设备中的渲染资源,并使得释放后的缓存设备中的渲染资源也能够有效维持稳定的帧率。
在本申请实施例中,S304之后,终端针对释放处理,获取变化的帧率和变化的频率,基于变化的帧率和变化的频率更新自适应参数,基于更新后的自适应参数,对缓存设备中的渲染资源执行与获取到的变化的缓存渲染资源数量所确定的空间使用状态适配的释放处理。
可以理解的是,自适应参数是一个具有实时性的反馈信号,基于帧率和访问频率确定,用于控制缓存设备中的渲染资源的释放处理;而释放处理后,基于存储设备中的渲染资源响应渲染请求渲染虚拟场景时,释放处理的效果会通过变化的帧率和变化的访问频率体现出来,进而基于变化的帧率和变化的频率更新自适应参数,将更新后的自适应参数应用到缓存设备中的渲染资源的释放处理中;如此,通过自适应参数的迭代反馈,使得缓存设备中的渲染资源被释放后能够有效维持帧率和未缓存的渲染资源的访问频率之间的均衡;从而,能够有效管理缓存设备中的渲染资源,并使得释放后的缓存设备中的渲染资源也能够有效维持稳定的帧率。
需要说明的是,释放处理的效果会通过变化的帧率和变化的访问频率体现出来:比如,帧率增大访问频率减小了,则表明释放处理的效果较好,此时,与帧率正相关、且与访问频率负相关的自适应参数增大,从而离缓存设备的释放与缓存的均衡状态距离减小,再次利用自适应参数调整释放频率时,释放频率调整幅度变小;帧率变小了访问频率增大了,则表明释放处理的效果较差,此时,与帧率正相关、且与访问频率负相关的自适应参数减小,从而离缓存设备的释放与缓存的均衡状态距离增大,再次利用自适应参数调整释放频率时,释放频率调整幅度增大;如此,实现基于自适应参数对缓存设备中的渲染资源执行释放处理的频率幅度,以有效管理缓存设备中的渲染资源,并使得释放后的缓存设备中的渲染资源也能够有效维持稳定的帧率。
参见图4,图4是本申请实施例提供的虚拟场景的渲染资源处理方法的另一个可选的流程示意图;如果4所示,在本申请实施例中,S304可通过S3041和S3042实现,也就是说,终端基于自适应参数,对缓存设备中的渲染资源执行与空间使用状态适配的释放处理,包括S3041和S3042,下面对各步骤分别进行说明。
S3041、当空间使用状态为缓存渲染资源数量大于缓存渲染资源数量阈值时,遍历缓存设备中的渲染资源。
在本申请实施例中,终端基于空间使用状态所对应的不同状态,执行不同的释放处理;这里,当空间使用状态为缓存渲染资源数量大于缓存渲染资源数量阈值时,表明缓存设备中的渲染资源所占用的缓存空间较大;此时,终端遍历缓存设备中的渲染资源,以加快卸载缓存设备中的渲染资源,实现对缓存设备中的渲染资源的管理。
S3042、基于自适应参数,缩短遍历到的当前渲染资源的当前存活时间,确定缩短后的当前存活时间小于当前渲染资源的当前已闲置时间时,释放当前渲染资源所占用的缓存空间,直到释放后的缓存设备中的渲染资源的数量小于或等于缓存渲染资源数量阈值时,停止释放,完成与空间使用状态适配的释放处理。
需要说明的是,缓存设备中的每个渲染资源均对应着一个存活时间,基于该存活时间确定是否从缓存设备中卸载该渲染资源。这里,终端加快卸载缓存设备中的渲染资源时,是通过缩短存活时间实现的,而存活时间的缩短是基于自适应参数完成的。另外,终端在确定是否从缓存设备中卸载一个遍历到的当前渲染资源时,获取该当前渲染资源的当前已闲置时间,如果缩短后的当前存活时间大于当前已闲置时间,表明该当前渲染资源还不满足被卸载条件,继续基于存活时间对下一个遍历到的当前渲染资源是否卸载进行判断;如果缩短后的当前存活时间小于或等于当前已闲置时间,表明该当前渲染资源满足被卸载条件,释放当前渲染资源所占用的存储空间,直到缓存渲染资源数量不再大于缓存渲染资源数量阈值时,停止遍历,停止渲染资源所占用的存储空间的释放。
这里,当前渲染资源为缓存设备中的渲染资源中的任一渲染资源;当前已闲置时间指当前渲染资源从最近一次的访问的释放时间到当前时间的间隔时间。
另外,比如,可以基于自适应参数,与遍历到的当前渲染资源对应的当前存活时间相乘,以缩短遍历到的渲染资源对应的存活时间。
可以理解的是,终端在确定缓存设备中的渲染资源的数量较多(大于缓存渲染资源数量阈值)时,对缓存设备中的渲染资源进行加快释放,使得缓存设备中的渲染资源的数量小于或等于缓存渲染资源数量阈值,实现了对缓存设备中的渲染资源的有效管理。
继续参见图4,在本申请实施例中,S304还可通过S3043-S3046实现,也就是说,终端基于自适应参数,对缓存设备中的渲染资源执行与空间使用状态适配的释放处理,包括S3043-S3046,下面对各步骤分别进行说明。
S3043、当空间使用状态为缓存渲染资源数量小于或等于缓存渲染资源数量阈值时,基于自适应参数增大预设查询间隔。
在本申请实施例中,终端基于空间使用状态所对应的不同状态,执行不同的释放处理;这里,当空间使用状态为缓存渲染资源数量小于或等于缓存渲染资源数量阈值时,表明缓存设备中的渲染资源所占用的缓存空间较小;此时,终端基于自适应参数增大预设查询间隔,以减慢卸载缓存设备中的渲染资源,实现对缓存设备中的渲染资源的管理。
需要说明的是,针对缓存设备中的渲染资源,终端基于预设查询间隔周期性地执行渲染资源的卸载判断;以及,终端基于自适应参数调整预设查询间隔,以增大预设查询间隔,比如,终端可以基于自适应参数的倒数,与预设查询间隔相乘,以增大预设查询间隔。
S3044、在增大的预设查询间隔对应的时间到达时,遍历缓存设备中的渲染资源。
需要说明的是,由于预设查询间隔增大了,从而在增大的预设查询间隔之后,即释放处理时间达到之后,遍历缓存设备中的渲染资源,对缓存设备中的渲染资源执行渲染资源的卸载判断,进行渲染资源的卸载,也就减慢了缓存设备中的渲染资源的卸载,减小了缓存设备中的渲染资源所占用的缓存空间的释放频率。
S3045、获取遍历到的当前渲染资源的当前已闲置时间。
需要说明的是,释放处理时间达到之后,终端仍然是基于存活时间和已闲置时间执行缓存设备中的渲染资源的释放处理。
S3046、当当前渲染资源的当前存活时间小于或等于当前已闲置时间时,释放当前渲染资源所占用的缓存空间,完成与空间使用状态适配的释放处理。
需要说明的是,终端在基于存活时间和已闲置时间执行缓存设备中的渲染资源的释放处理时,如果当前存活时间大于当前已闲置时间,表明该当前渲染资源还不满足被卸载条件,继续基于存活时间对下一个遍历到的当前渲染资源是否卸载进行判断;如果缩短后的当前存活时间小于或等于当前已闲置时间,表明该当前渲染资源满足被卸载条件,释放当前渲染资源所占用的缓存空间,停止遍历,停止渲染资源所占用的缓存空间的释放。另外,释放掉当前渲染资源所占用的存储空间之后,也可以继续遍历,本申请实施例对此不作具体限定。
可以理解的是,终端在确定缓存设备中的渲染资源的数量较少(小于或等于缓存渲染资源数量阈值)时,对缓存设备中的渲染资源进行减慢释放,实现了对缓存设备中的渲染资源的有效管理。
还可以理解的是,终端基于与帧率正相关、且与访问频率负相关的自适应参数调整缓存设备中的闲置渲染资源,实现了对缓存设备中的渲染资源的有效管理,且能够使得虚拟场景的渲染维持稳定的帧率,提升了缓存设备中的渲染资源的命中率,降低了虚拟场景的性能消耗。
在本申请实施例中,S301中,终端确定与帧率正相关、且与访问频率负相关的自适应参数,包括S3011和S3012,下面对各步骤分别进行说明。
S3011、获取访问频率与帧率的目标比值。
在本申请实施例中,终端将访问频率作为分子,将帧率作为分母,计算比值,也就得到了目标比值。
S3012、确定与目标比值相关的自适应参数。
在本申请实施例中,终端将目标比值作为因子所获得的结果均为自适应参数。
需要说明的是,目标比值还可以是访问频率作为分母,帧率作为分子的比值,只要能够满足所获得的自适应参数能够满足与访问频率成负相关,与帧率成正相关即可。
可以理解的是,自适应参数在一定程度上表征了对缓存设备中的渲染资源执行释放操作的调整程度;从而,访问频率越大帧率越小,则调整程度越大;访问频率越小帧率越大,则调整程度越小。
参见图5,图5是本申请实施例提供的虚拟场景的渲染资源处理方法的又一个可选的流程示意图;如图5所示,在本申请实施例中,缓存设备中的每个渲染资源的存活时间可以是基于每个渲染资源的访问概率确定的,也可以是统一确定的,等等,本申请实施例对此不作具体限定。其中,当终端基于每个渲染资源的访问概率确定对应的存活时间时,S304之前还包括S305-S307,也就是说,终端基于自适应参数,对缓存设备中的渲染资源执行与空间使用状态适配的释放处理之前,该虚拟场景的渲染资源处理方法还包括S305-S307,下面对各步骤分别进行说明。
S305、获取缓存设备中的每个渲染资源的访问概率。
在本申请实施例中,终端可以通过采样的方式统计缓存设备中的每个渲染资源的访问概率。
S306、基于缓存设备的存储空间,确定设备空间参数。
需要说明的是,终端中的缓存设备的存储空间也会影响每个渲染资源在缓存设备中的存活时间,从而,终端将基于缓存设备的存储空间所确定的设备空间参数也作为确定每个渲染资源的存活时间的因子。
S307、基于每个渲染资源的访问概率、设备空间参数和预设时间参数,确定每个渲染资源的存活时间。
在本申请实施例中,终端中还设置有预设时间参数,或者终端能够获取到该预设时间参数,该预设时间参数可以是缓存设备中的渲染资源的最大存活时间,也可以是缓存设备中的渲染资源的平均存活时间,等等,本申请实施例对此不作具体限定。这里,终端,将预设时间参数也作为确定每个渲染资源的存活时间的因子,结合每个渲染资源的访问概率和设备空间参数,共同确定出每个渲染资源的存活时间。
需要说明的是,S305-S307可以在S304之前的任意时刻执行,图5示出的仅是一种示例性的执行顺序。
在本申请实施例中,S305可以通过S3051-S3053实现;也就是说,终端获取缓存设备中的每个渲染资源的访问概率,包括S3051-S3053,下面对各步骤分别进行说明。
S3051、获取缓存设备中的每个渲染资源的引用采样数据。
需要说明的是,运行目标应用渲染虚拟场景的历史过程中,比如,游戏应用的灰度测试时,每次访问渲染资源时,终端上报访问信息至服务器,服务器也就获得了各个渲染资源的访问信息集合;从而,终端能够从服务器的访问信息集合中获取到每个渲染资源的引用采用数据,该引用采用数据表征了每个渲染资源每次被访问的记录。
S3052、基于引用采样数据,统计每个渲染资源的多个初始访问概率。
在本申请实施例中,引用采样数据是多次虚拟场景渲染时的多个子引用采用数据,终端获取每次虚拟场景渲染的次数与总的渲染资源的访问频率,也就得到该次的初始访问概率,从而也就得到了与引用采用数据对应的多个初始访问概率。
S3053、基于多个初始访问概率,确定每个渲染资源的访问概率。
在本申请实施例中,终端获得了多个初始访问概率之后,可以从多个初始访问概率中随机选择一个初始访问概率作为每个渲染资源的访问概率,也可以将多个初始访问概率对应期望作为每个渲染资源的访问概率,又可以将多个初始访问概率对应众数作为每个渲染资源的访问概率,等等,本申请实施例对此不作具体限定。
可以理解的是,终端通过将每个渲染资源的访问概率作为在缓存设备的存活时间,使得经常被访问的渲染资源在存储设备中的存活时间较长;偶尔性或随机性被访问的渲染资源在缓存设备中的存活时间较短,从而能够被快速淘汰,比如,偶发性或随机性访问渲染资源的应用场景中,采用LRU算法无法淘汰偶发性或随机性访问渲染资源,而采用本申请实施例就能够实现。
在本申请实施例中,缓存设备中的每个渲染资源可以为渲染素材的可渲染信息。缓存设备中的每个渲染资源也可以为渲染素材的一个渲染等级对应的多细节层次等级渲染资源;其中,渲染素材对应多个渲染等级的多个多细节层次等级渲染资源,多个渲染等级与多个多细节层次等级渲染资源一一对应,一个渲染等级对应一种渲染精度。
需要说明的是,对渲染素材建模,以实现虚拟场景的渲染时,渲染素材的建模可以是一个渲染素材对应一个渲染资源(渲染资源是建模的结果);也可以为了适应不同的视角建模不同精度的渲染资源,比如,虚拟对象降伞的过程中,当离地面较远时,地上的树(渲染资源)所渲染出的效果仅是一个点或一片,当快接近地面时,地上的树所渲染出的效果则为树的轮廓,比仅是一个点或一片的树的渲染精度更高,当到达地面时,地上的树所渲染出的效果则包括了树的枝和叶,甚至枝和叶的纹理,此时的渲染精度最高。
参见图6,图6是本申请实施例提供的虚拟场景的渲染资源处理方法的再一个可选的流程示意图;如图6所示,在本申请实施例中,S302之前还包括S308-S311;也就是说,终端获取缓存渲染资源数量之前,虚拟场景的渲染资源处理方法还包括S308-S311,下面对各步骤分别进行说明。
S308、获取渲染资源缓存请求。
在本申请实施例中,当终端将非易失性存储设备中的渲染资源读取到缓存设备中时,终端也就接收到了渲染资源缓存请求。
S309、响应渲染资源缓存请求,确定渲染素材标识和目标渲染等级。
需要说明的是,终端获得了渲染资源缓存请求之后,响应该渲染资源缓存请求,从该渲染资源缓存请求中获取渲染素材标识和目标渲染等级,或者基于该渲染资源缓存请求的指示获取渲染素材标识和目标渲染等级。其中,渲染素材标识用于标识渲染素材,目标渲染等级为与渲染素材对应的多个渲染等级中的一个待缓存在缓存设备中的渲染资源所对应的等级。
这里,非易失性存储设备为终端中的非易失性存储空间,比如,硬盘等。
S310、从非易失性存储设备中,获取与渲染素材标识所对应的多个渲染等级的多个多细节层次等级渲染资源。
在本申请实施例中,终端获得了渲染素材标识之后,将该渲染素材标识与,素材标识和渲染资源的对应关系进行匹配,进而在非易失性存储设备中,匹配出与渲染素材标识所对应的多个渲染等级的多个多细节层次等级渲染资源。
S311、将多个多细节层次等级渲染资源中与目标渲染等级对应的多细节层次等级渲染资源,读取到缓存设备中。
在本申请实施例中,终端获得了多个多细节层次等级渲染资源之后,从多个多细节层次等级渲染资源中选择与目标渲染等级对应的多细节层次等级渲染资源,并将与目标渲染等级对应的多细节层次等级渲染资源读取到缓存设备中,从而缓存设备中也就存储了渲染素材对应的部分或全部的渲染资源。也就是说,缓存设备中的渲染资源可以是多个渲染素材的多个渲染资源,多个渲染素材对应的渲染素材的数量小于或等于缓存渲染资源数量,即多个渲染素材与多个渲染资源并不一一对应,一个渲染素材对应至少一个渲染资源,而所对应的至少一个渲染资源为该渲染素材对应的多个多细节层次等级渲染资源中的部分资源或全部资源。
需要说明的是,S308-S311可以在S302之前的任意时刻执行,图6示出的仅是一种示例性的执行顺序。
可以理解的是,在多LOD等级渲染资源的应用运行时,玩家的一段时间内使用一个固定视角的概率比较高,即某个LOD等级渲染资源的访问概率远高于其他等级;以及切换视角的概率存在偶发性或随机性,即算法需要自适应调节能力;而采用本申请实施例所提供的虚拟场景的渲染资源处理,通过自适应参数能够及时地淘汰掉缓存设备中的闲置渲染资源,也就能够淘汰掉这些偶发性或随机性访问的渲染资源,解决了缓存污染问题,提升了缓存设备中的渲染资源的命中率,提升了虚拟场景渲染的性能。
参见图7,图7是本申请实施例提供的虚拟场景的渲染资源处理方法的再又一个可选的流程示意图;如图7所示,在本申请实施例中,S301之前还包括S312;也就是说,终端获取虚拟场景的帧率之前,该虚拟场景的渲染资源处理方法还包括S312,下面对该步骤进行说明。
S312、获取未缓存的渲染资源访问请求。
需要说明的是,当终端访问渲染资源渲染虚拟场景时,也就接收到了渲染请求;而当响应渲染请求未命中缓存设备中的渲染资源时,也就接收到了未缓存的渲染资源访问请求。也就是说,未缓存的渲染资源访问请求是基于渲染请求生成的。
相应地,在本申请实施例中,S301中的获取虚拟场景的帧率,包括:响应未缓存的渲染资源访问请求,获取虚拟场景的帧率。也就是说,基于自适应参数对缓存设备中的渲染资源执行释放处理,是在接收到未缓存的渲染资源访问请求时触发的。
可以理解的是,由于接收到未缓存的渲染资源访问请求时,表明缓存设备中的渲染资源未被命中,也就表明需要对对缓存设备中的渲染资源执行释放处理,以将待引用渲染资源读取至缓存设备中。因此,终端采用未缓存的渲染资源访问请求触发缓存设备中的渲染资源的释放处理执行,能够提升对缓存设备中的渲染资源执行释放处理的及时性。
参见图8,图8是本申请实施例提供的虚拟场景的渲染资源处理方法的又另一个可选的流程示意图;如图8所示,在本申请实施例中,S301之前还包括S313;也就是说,终端获取虚拟场景的帧率之前,该虚拟场景的渲染资源处理方法还包括S313,下面对该步骤进行说明。
S313、基于预设查询间隔,检测空间释放时间。
需要说明的是,终端基于预设查询间隔对当前执行释放处理的时间进行记录,并基于预设查询间隔检测是否达到了下个执行释放处理的时间;这里,下个执行释放处理的时间即空间释放时间。
相应地,在本申请实施例中,S301中的获取虚拟场景的帧率,包括:当空间释放时间到达时,获取虚拟场景的帧率。也就是说,基于自适应参数对缓存设备中的渲染资源执行释放处理,是在预设查询间隔对应的周期性时间到达时触发的。
在本申请实施例中,S3045可通过S30451-S30453实现;也就是说,终端获取遍历到的当前渲染资源的当前已闲置时间,包括S30451-S30453,下面对各步骤分别进行说明。
S30451、获取遍历到的当前渲染资源的引用释放时间。
需要说明的是,引用释放时间为虚拟场景的渲染过程中释放引用当前渲染资源的最近时间,或者说,引用师父时间为当前渲染资源的最近被访问的时间。
S30452、获取当前时间。
需要说明的是,当前时间为与获取遍历到的当前渲染资源的引用释放时间对应的时刻。
S30453、基于当前时间与引用释放时间之间的间隔时间,确定当前已闲置时间。
在本申请实施例中,终端获得了当前时间与引用释放时间之后,获取当前时间与引用释放时间之间的间隔时间,并将该间隔时间作为当前已闲置时间。
在本申请实施例中,S3045之后还包括S3047-S3049;也就是说,终端获取遍历到的当前渲染资源的当前已闲置时间之后,该虚拟场景的渲染资源处理方法还包括S3047-S3049,下面对各步骤分别进行说明。
S3047、当当前渲染资源对应的当前存活时间小于或等于当前已闲置时间时,获取当前渲染资源对应的视角信息。
在本申请实施例中,在每个渲染资源为一个渲染等级对应的多细节层次等级渲染资源时,虚拟场景的渲染过程中一段时间内采用一个固定视角的概率比较高,即某个LOD等级资源的访问概率远高于其他等级;因此,终端在确定当前渲染资源对应的当前存活时间小于或等于当前已闲置时间时,仍然不释放该当前渲染资源所占用的缓存空间;而是获取当前渲染资源对应的视角信息,基于该视角信息对应的其他的渲染资源是否缓存在缓存设备中的缓存结果执行进一步的判断。这里,视角信息对应一个视角。
S3048、获取视角信息对应的渲染资源集合中的剩余渲染资源。
需要说明的是,在多LOD等级资源渲染的应用场景中,一个视角下对应着一组不同渲染素材的不同LOD等级,从而,终端能够获取到与视角信息对应的一组不同渲染素材的不同LOD等级,也就得到了渲染资源集合。而剩余渲染资源为渲染资源集合中除当前渲染资源之外的渲染资源。
S3049、当剩余渲染资源未缓存在缓存设备中时,释放当前渲染资源所占用的存储空间。
需要说明的是,当剩余渲染资源未缓存在缓存设备中时,终端释放当前渲染资源所占用的存储空间;而当剩余渲染资源缓存在缓存设备中时,终端则不释放当前渲染资源所占用的存储空间。另外,终端在确定缩短后的当前存活时间小于当前渲染资源的当前已闲置时间时,也可以采用S3047-S3049描述的实现过程进行进一步地判断。
可以理解的是,考虑到多LOD等级资源的虚拟场景的渲染过程中,一段时间内采用一个固定视角的概率比较高,终端对缓存设备中的渲染资源执行释放处理时,将视角信息对应的剩余渲染资源在缓存设备中的缓存情况也作为判断因素,提升了缓存设备中的渲染资源的命中率。
下面,将说明本申请实施例在一个实际的应用场景中的示例性应用。
参见图9,图9是本申请实施例提供的一种示例性的虚拟场景的渲染资源处理方法的实现流程图;如图9所示,该示例性的虚拟场景的渲染资源处理方法包括如下步骤:
S901、开始;即终端开始执行该示例性的虚拟场景的渲染资源处理方法。
S902、获取渲染素材的每个LOD等级资源(渲染资源)的访问概率期望(访问概率)。
S903、计算设备环境参数(设备空间参数)。
需要说明的是,设备环境参数可以通过式(1)获得,式(1)如下所示:
Figure BDA0002725347240000251
其中,m为设备环境参数,x为内存(缓存设备)的存储空间。
S904、计算每个LOD等级资源的最大存活时间(存活时间)。
需要说明的是,最大存活时间可以通过式(2)获得,式(2)如下所示:
t=E*a*m (2)
其中,t为最大存活时间,E为访问概率期望,a为一个时间常数(预设时间参数)。
S905、获取新LOD等级资源访问频率(未缓存的渲染资源的访问频率)、以及游戏运行帧率(虚拟场景的帧率),以计算自适应参数。
需要说明的是,目标应用为游戏应用,自适应参数可采用式(3)获得,式(3)如下所示:
k=1/(1+f/g) (3)
其中,k为自适应参数,f为新LOD等级资源访问频率,g为游戏运行帧率。
S906、判断缓存渲染资源数量是否超过最大限制数量(缓存渲染资源数量阈值);当超过时,执行S907;当未超过时,执行S908。
S907、遍历缓存的LOD等级资源,重计算遍历到的LOD等级资源的最大存活时间,获取已闲置时间,如果重计算的最大存活时间小于或等于已闲置时间,淘汰遍历到的LOD等级资源;如此持续遍历淘汰,直到缓存渲染资源数量小于或等于最大限制数量,停止遍历淘汰。
这里,重计算可以采用式(4)实现,式(4)如下所示:
tnew=k*t (4)
其中,tnew为重计算的最大存活时间。
S908、计算闲置资源查询间隔,闲置资源查询间隔之后,遍历缓存的LOD等级资源,淘汰第一个最大存活时间小于或等于已闲置时间的LOD等级资源。
这里,计算闲置资源查询间隔的过程可以采用式(5)实现,式(5)如下所示:
Δt=tq/k (5)
其中,Δt为闲置资源查询间隔,tq为预设查询时间间隔。
S909、判断游戏是否退出;如果是,则执行S910;如果否,则执行S905。
S910、结束。游戏退出则结束该示例性的虚拟场景的渲染资源处理方法。
可以理解的是,一方面,当在终端上运行多LOD游戏(目标应用)渲染游戏场景(虚拟场景)时,视角的切换使得低访问概率的LOD等级资源带来的缓存污染问题更严重,通过获取每个LOD等级的访问概率期望,以基于每个LOD等级的访问概率期望设定一个最大存活时间,使得偶发性或随机性访问的渲染资源的存活时间较短,能够及时被淘汰,从而解决了缓存污染的问题。另一方面,在多LOD等级资源的应用场景中,通过将LOD等级资源的访问概率期望转化为的最大存活时间,结合终端的运行内存大小及游戏运行帧率,并根据当前的新资源访问频率自适应地调整资源释放时机,在保持安全合理的占用内存空间大小的基础上得到了更高的缓存命中率,较大的减少了CPU的消耗,获得较大的性能提升。
下面继续说明本申请实施例提供的虚拟场景的渲染资源处理装置455的实施为软件模块的示例性结构,在一些实施例中,如图2所示,存储在存储器450的虚拟场景的渲染资源处理装置455中的软件模块可以包括:
参数获取模块4551,用于获取虚拟场景的帧率、以及未缓存的渲染资源的访问频率,确定与所述帧率正相关、且与所述访问频率负相关的自适应参数;
数量获取模块4552,用于获取缓存渲染资源数量,其中,所述缓存渲染资源数量是缓存设备中的渲染资源的数量,所述缓存设备中的渲染资源用于响应渲染请求,以渲染所述虚拟场景;
状态获取模块4553,用于比较所述缓存渲染资源数量和缓存渲染资源数量阈值,以确定所述缓存设备的空间使用状态;
释放处理模块4554,用于基于所述自适应参数,对所述缓存设备中的渲染资源执行与所述空间使用状态适配的释放处理。
在本申请实施例中,所述释放处理模块4554,还用于当所述空间使用状态为所述缓存渲染资源数量大于所述缓存渲染资源数量阈值时,遍历所述缓存设备中的渲染资源;基于所述自适应参数,缩短遍历到的当前渲染资源的当前存活时间,确定缩短后的当前存活时间小于所述当前渲染资源的当前已闲置时间时,释放所述当前渲染资源所占用的缓存空间,直到释放后的所述缓存设备中的渲染资源的数量小于或等于所述缓存渲染资源数量阈值时,停止释放,完成与所述空间使用状态适配的释放处理。
在本申请实施例中,所述释放处理模块4554,还用于当所述空间使用状态为所述缓存渲染资源数量小于或等于所述缓存渲染资源数量阈值时,基于所述自适应参数增大预设查询间隔;在增大的预设查询间隔对应的时间到达时,遍历所述缓存设备中的渲染资源;获取遍历到的当前渲染资源的当前已闲置时间;当所述当前渲染资源的当前存活时间小于或等于所述当前已闲置时间时,释放所述当前渲染资源所占用的缓存空间,完成与所述空间使用状态适配的释放处理。
在本申请实施例中,所述参数获取模块4551,还用于获取所述访问频率与所述帧率的目标比值;确定与所述目标比值相关的所述自适应参数。
在本申请实施例中,所述虚拟场景的渲染资源处理装置455还包括时间设置模块4555,用于获取所述缓存设备中的每个渲染资源的访问概率;基于所述缓存设备的存储空间,确定设备空间参数;基于所述每个渲染资源的访问概率、所述设备空间参数和预设时间参数,确定所述每个渲染资源的存活时间。
在本申请实施例中,所述时间设置模块4555,还用于获取所述缓存设备中的每个渲染资源的引用采样数据;基于所述引用采样数据,统计所述每个渲染资源的多个初始访问概率;基于所述多个初始访问概率,确定所述每个渲染资源的访问概率。
在本申请实施例中,所述缓存设备中的每个渲染资源为渲染素材的一个渲染等级对应的多细节层次等级渲染资源;其中,所述渲染素材对应多个渲染等级的多个多细节层次等级渲染资源,所述多个渲染等级与所述多个多细节层次等级渲染资源一一对应,一个渲染等级对应一种渲染精度。
在本申请实施例中,所述虚拟场景的渲染资源处理装置455还包括资源缓存模块4556,用于获取渲染资源缓存请求;响应所述渲染资源缓存请求,确定渲染素材标识和所述目标渲染等级,其中,所述渲染素材标识用于表示所述渲染素材;从非易失性存储设备中,获取与所述渲染素材标识所对应的所述多个渲染等级的所述多个多细节层次等级渲染资源;将所述多个多细节层次等级渲染资源中与所述目标渲染等级对应的多细节层次等级渲染资源,读取到所述缓存设备中。
在本申请实施例中,所述虚拟场景的渲染资源处理装置455还包括处理触发模块4557,用于获取未缓存的渲染资源访问请求,所述未缓存的渲染资源访问请求是基于所述渲染请求生成的。
在本申请实施例中,所述参数获取模块4551,还用于响应所述未缓存的渲染资源访问请求,获取所述虚拟场景的所述帧率。
在本申请实施例中,所述处理触发模块4557,还用于基于预设查询间隔,检测空间释放时间;
在本申请实施例中,所述参数获取模块4551,还用于当所述空间释放时间到达时,获取所述虚拟场景的所述帧率。
在本申请实施例中,所述释放处理模块4554,还用于获取遍历到的所述当前渲染资源的引用释放时间,所述引用释放时间为所述虚拟场景的渲染过程中释放引用所述当前渲染资源的最近时间;获取当前时间;基于所述当前时间与所述引用释放时间之间的间隔时间,确定所述当前已闲置时间。
在本申请实施例中,所述释放处理模块4554,还用于当所述当前渲染资源对应的当前存活时间小于或等于所述当前已闲置时间时,获取所述当前渲染资源对应的视角信息;获取所述视角信息对应的渲染资源集合中的剩余渲染资源,所述剩余渲染资源为所述渲染资源集合中除所述当前渲染资源之外的渲染资源;当所述剩余渲染资源未缓存在所述缓存设备中时,释放所述当前渲染资源所占用的存储空间。
本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例上述的虚拟场景的渲染资源处理方法。
本申请实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的虚拟场景的渲染资源处理方法,例如,如图3示出的虚拟场景的渲染资源处理方法。
在一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、EP ROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(H TML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
综上所述,通过本申请实施例,基于自适应参数和空间使用状态的释放机制,通过适配不同的空间使用状态,以与帧率正相关、与访问频率负相关作为对缓存设备中的渲染资源执行释放处理的参考,使得缓存设备中的渲染资源被释放后能够有效维持帧率和未缓存的渲染资源的访问频率之间的均衡;从而,能够有效管理缓存设备中的渲染资源,并使得释放后的缓存设备中的渲染资源也能够有效维持稳定的帧率;进而,解决了缓存污染问题,提升了缓存设备中的渲染资源的命中率,提升了虚拟场景的渲染性能。
以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。

Claims (15)

1.一种虚拟场景的渲染资源处理方法,其特征在于,包括:
获取虚拟场景的帧率、以及未缓存的渲染资源的访问频率,确定与所述帧率正相关、且与所述访问频率负相关的自适应参数;
获取缓存渲染资源数量,其中,所述缓存渲染资源数量是缓存设备中的渲染资源的数量,所述缓存设备中的渲染资源用于响应渲染请求,以渲染所述虚拟场景;
比较所述缓存渲染资源数量和缓存渲染资源数量阈值,以确定所述缓存设备的空间使用状态;
基于所述自适应参数,对所述缓存设备中的渲染资源执行与所述空间使用状态适配的释放处理。
2.根据权利要求1所述的方法,其特征在于,所述基于所述自适应参数,对所述缓存设备中的渲染资源执行与所述空间使用状态适配的释放处理,包括:
当所述空间使用状态为所述缓存渲染资源数量大于所述缓存渲染资源数量阈值时,遍历所述缓存设备中的渲染资源;
基于所述自适应参数,缩短遍历到的当前渲染资源的当前存活时间,确定缩短后的当前存活时间小于所述当前渲染资源的当前已闲置时间时,释放所述当前渲染资源所占用的缓存空间,直到
释放后的所述缓存设备中的渲染资源的数量小于或等于所述缓存渲染资源数量阈值时,停止释放,完成与所述空间使用状态适配的释放处理。
3.根据权利要求1所述的方法,其特征在于,所述基于所述自适应参数,对所述缓存设备中的渲染资源执行与所述空间使用状态适配的释放处理,包括:
当所述空间使用状态为所述缓存渲染资源数量小于或等于所述缓存渲染资源数量阈值时,基于所述自适应参数增大预设查询间隔;
在增大的预设查询间隔对应的时间到达时,遍历所述缓存设备中的渲染资源;
获取遍历到的当前渲染资源的当前已闲置时间;
当所述当前渲染资源的当前存活时间小于或等于所述当前已闲置时间时,释放所述当前渲染资源所占用的缓存空间,完成与所述空间使用状态适配的释放处理。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述确定与所述帧率正相关、且与所述访问频率负相关的自适应参数,包括:
获取所述访问频率与所述帧率的目标比值;
确定与所述目标比值相关的所述自适应参数。
5.根据权利要求1至3任一项所述的方法,其特征在于,所述基于所述自适应参数,对所述缓存设备中的渲染资源执行与所述空间使用状态适配的释放处理之前,所述方法还包括:
获取所述缓存设备中的每个渲染资源的访问概率;
基于所述缓存设备的存储空间,确定设备空间参数;
基于所述每个渲染资源的访问概率、所述设备空间参数和预设时间参数,确定所述每个渲染资源的存活时间。
6.根据权利要求5所述的方法,其特征在于,所述获取所述缓存设备中的每个渲染资源的访问概率,包括:
获取所述缓存设备中的每个渲染资源的引用采样数据;
基于所述引用采样数据,统计所述每个渲染资源的多个初始访问概率;
基于所述多个初始访问概率,确定所述每个渲染资源的访问概率。
7.根据权利要求1至3任一项所述的方法,其特征在于,所述缓存设备中的每个渲染资源为渲染素材的一个渲染等级对应的多细节层次等级渲染资源;
其中,所述渲染素材对应多个渲染等级的多个多细节层次等级渲染资源,所述多个渲染等级与所述多个多细节层次等级渲染资源一一对应,一个渲染等级对应一种渲染精度。
8.根据权利要求7所述的方法,其特征在于,所述获取缓存渲染资源数量之前,所述方法还包括:
获取渲染资源缓存请求;
响应所述渲染资源缓存请求,确定渲染素材标识和所述目标渲染等级,其中,所述渲染素材标识用于表示所述渲染素材;
从非易失性存储设备中,获取与所述渲染素材标识所对应的所述多个渲染等级的所述多个多细节层次等级渲染资源;
将所述多个多细节层次等级渲染资源中与所述目标渲染等级对应的多细节层次等级渲染资源,读取到所述缓存设备中。
9.根据权利要求1至3任一项所述的方法,其特征在于,所述获取虚拟场景的帧率之前,所述方法还包括:
获取未缓存的渲染资源访问请求,所述未缓存的渲染资源访问请求是基于所述渲染请求生成的;
所述获取虚拟场景的帧率,包括:
响应所述未缓存的渲染资源访问请求,获取所述虚拟场景的所述帧率。
10.根据权利要求1至3任一项所述的方法,其特征在于,所述获取虚拟场景的帧率之前,所述方法还包括:
基于预设查询间隔,检测空间释放时间;
所述获取虚拟场景的帧率,包括:
当所述空间释放时间到达时,获取所述虚拟场景的所述帧率。
11.根据权利要求3所述的方法,其特征在于,所述获取遍历到的当前渲染资源的当前已闲置时间,包括:
获取遍历到的所述当前渲染资源的引用释放时间,所述引用释放时间为所述虚拟场景的渲染过程中释放引用所述当前渲染资源的最近时间;
获取当前时间;
基于所述当前时间与所述引用释放时间之间的间隔时间,确定所述当前已闲置时间。
12.根据权利要求3所述的方法,其特征在于,所述获取遍历到的当前渲染资源的当前已闲置时间之后,所述方法还包括:
当所述当前渲染资源对应的当前存活时间小于或等于所述当前已闲置时间时,获取所述当前渲染资源对应的视角信息;
获取所述视角信息对应的渲染资源集合中的剩余渲染资源,所述剩余渲染资源为所述渲染资源集合中除所述当前渲染资源之外的渲染资源;
当所述剩余渲染资源未缓存在所述缓存设备中时,释放所述当前渲染资源所占用的存储空间。
13.一种虚拟场景的渲染资源处理装置,其特征在于,包括:
参数获取模块,用于获取虚拟场景的帧率、以及未缓存的渲染资源的访问频率,确定与所述帧率正相关、且与所述访问频率负相关的自适应参数;
数量获取模块,用于获取缓存渲染资源数量,其中,所述缓存渲染资源数量是缓存设备中的渲染资源的数量,所述缓存设备中的渲染资源用于响应渲染请求,以渲染所述虚拟场景;
状态获取模块,用于比较所述缓存渲染资源数量和缓存渲染资源数量阈值,以确定所述缓存设备的空间使用状态;
释放处理模块,用于基于所述自适应参数,对所述缓存设备中的渲染资源执行与所述空间使用状态适配的释放处理。
14.一种虚拟场景的渲染资源处理设备,其特征在于,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求1至12任一项所述的方法。
15.一种计算机可读存储介质,其特征在于,存储有可执行指令,用于被处理器执行时,实现权利要求1至12任一项所述的方法。
CN202011101016.3A 2020-10-15 2020-10-15 虚拟场景的渲染资源处理方法、装置、设备及存储介质 Active CN112052097B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011101016.3A CN112052097B (zh) 2020-10-15 2020-10-15 虚拟场景的渲染资源处理方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011101016.3A CN112052097B (zh) 2020-10-15 2020-10-15 虚拟场景的渲染资源处理方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN112052097A true CN112052097A (zh) 2020-12-08
CN112052097B CN112052097B (zh) 2024-05-03

Family

ID=73606571

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011101016.3A Active CN112052097B (zh) 2020-10-15 2020-10-15 虚拟场景的渲染资源处理方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN112052097B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114219924A (zh) * 2021-10-18 2022-03-22 腾讯科技(深圳)有限公司 虚拟场景的适配显示方法、装置、设备、介质及程序产品
CN114329298A (zh) * 2021-12-31 2022-04-12 北京海泰方圆科技股份有限公司 一种页面呈现方法、装置、电子设备及存储介质
CN114401423A (zh) * 2022-01-13 2022-04-26 上海哔哩哔哩科技有限公司 数据处理方法及装置
CN114579075A (zh) * 2022-01-30 2022-06-03 荣耀终端有限公司 数据处理方法和相关装置

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1961286A (zh) * 2003-12-24 2007-05-09 英特尔公司 自适应高速缓存
CN103905741A (zh) * 2014-03-19 2014-07-02 合肥安达电子有限责任公司 超高清全景视频实时生成与多通道同步播放系统
CN105094920A (zh) * 2015-08-14 2015-11-25 网易(杭州)网络有限公司 一种游戏渲染方法和装置
CN108052280A (zh) * 2017-11-29 2018-05-18 努比亚技术有限公司 一种缓存数据的删除方法、终端和计算机可读存储介质
CN109621413A (zh) * 2018-12-28 2019-04-16 腾讯科技(深圳)有限公司 游戏画面的渲染显示方法、装置、终端及存储介质
CN109671158A (zh) * 2018-11-01 2019-04-23 苏州蜗牛数字科技股份有限公司 一种游戏画面的优化方法
CN110908612A (zh) * 2019-11-27 2020-03-24 腾讯科技(深圳)有限公司 缓存管理方法、装置、设备及存储介质
CN111176560A (zh) * 2019-12-17 2020-05-19 腾讯科技(深圳)有限公司 一种缓存管理方法、装置、计算机设备及存储介质
CN111400024A (zh) * 2019-01-03 2020-07-10 百度在线网络技术(北京)有限公司 渲染过程中的资源调用方法、装置和渲染引擎

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1961286A (zh) * 2003-12-24 2007-05-09 英特尔公司 自适应高速缓存
CN103905741A (zh) * 2014-03-19 2014-07-02 合肥安达电子有限责任公司 超高清全景视频实时生成与多通道同步播放系统
CN105094920A (zh) * 2015-08-14 2015-11-25 网易(杭州)网络有限公司 一种游戏渲染方法和装置
CN108052280A (zh) * 2017-11-29 2018-05-18 努比亚技术有限公司 一种缓存数据的删除方法、终端和计算机可读存储介质
CN109671158A (zh) * 2018-11-01 2019-04-23 苏州蜗牛数字科技股份有限公司 一种游戏画面的优化方法
CN109621413A (zh) * 2018-12-28 2019-04-16 腾讯科技(深圳)有限公司 游戏画面的渲染显示方法、装置、终端及存储介质
CN111400024A (zh) * 2019-01-03 2020-07-10 百度在线网络技术(北京)有限公司 渲染过程中的资源调用方法、装置和渲染引擎
CN110908612A (zh) * 2019-11-27 2020-03-24 腾讯科技(深圳)有限公司 缓存管理方法、装置、设备及存储介质
CN111176560A (zh) * 2019-12-17 2020-05-19 腾讯科技(深圳)有限公司 一种缓存管理方法、装置、计算机设备及存储介质

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114219924A (zh) * 2021-10-18 2022-03-22 腾讯科技(深圳)有限公司 虚拟场景的适配显示方法、装置、设备、介质及程序产品
CN114219924B (zh) * 2021-10-18 2023-06-13 腾讯科技(深圳)有限公司 虚拟场景的适配显示方法、装置、设备、介质及程序产品
CN114329298A (zh) * 2021-12-31 2022-04-12 北京海泰方圆科技股份有限公司 一种页面呈现方法、装置、电子设备及存储介质
CN114401423A (zh) * 2022-01-13 2022-04-26 上海哔哩哔哩科技有限公司 数据处理方法及装置
CN114401423B (zh) * 2022-01-13 2023-12-12 上海哔哩哔哩科技有限公司 数据处理方法及装置
CN114579075A (zh) * 2022-01-30 2022-06-03 荣耀终端有限公司 数据处理方法和相关装置
CN114579075B (zh) * 2022-01-30 2023-01-17 荣耀终端有限公司 数据处理方法和相关装置

Also Published As

Publication number Publication date
CN112052097B (zh) 2024-05-03

Similar Documents

Publication Publication Date Title
CN112052097B (zh) 虚拟场景的渲染资源处理方法、装置、设备及存储介质
US9201810B2 (en) Memory page eviction priority in mobile computing devices
CN105205014B (zh) 一种数据存储方法和装置
CN110807125B (zh) 推荐系统、数据访问方法及装置、服务器、存储介质
US8099548B2 (en) Power efficient media playback on general purpose portable devices
CN108701079A (zh) 具有自适应预取的闪存读取高速缓存的系统和方法
US11907164B2 (en) File loading method and apparatus, electronic device, and storage medium
US9723052B2 (en) Utilizing content via personal clouds
CN111737168A (zh) 一种缓存系统、缓存处理方法、装置、设备及介质
CN105138473B (zh) 管理高速缓冲存储器的系统和方法
US10642493B2 (en) Mobile device and data management method of the same
CN107562645B (zh) 一种内存页管理方法及计算设备
CN111930740A (zh) 一种游戏数据的处理方法、装置、服务器及存储介质
KR102502569B1 (ko) 시스템 리소스 관리를 위한 방법 및 장치
CN115794682A (zh) 缓存替换方法及装置、电子设备、存储介质
CN110399214B (zh) 一种优化显卡负载的方法、装置及计算机设备
CN112698793A (zh) 一种数据存储方法、装置、机器可读介质及设备
CN114428589A (zh) 一种数据处理方法、装置、电子设备及存储介质
US9542318B2 (en) Temporary cache memory eviction
CN110825652B (zh) 淘汰磁盘块上的缓存数据的方法、装置及设备
CN112231245B (zh) 用于高速缓存的最佳接纳控制
US20220138630A1 (en) Predictive streaming system
CN117311909B (zh) 虚拟场景的资源处理方法、装置、设备及存储介质
CN117235088B (zh) 一种存储系统的缓存更新方法、装置、设备、介质及平台
CN115845388A (zh) 游戏资源文件管理方法、装置、电子设备及存储介质

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