一种基于周期成本的游戏资源缓存方法和系统技术方案

技术编号:17561848 阅读:40 留言:0更新日期:2018-03-28 12:20
本发明专利技术的技术方案包括一种基于周期成本的游戏资源缓存方法和系统,用于实现:对需求指令进行解析,获取关键字段;对图形库进行遍历,获取与关键字段相同或/和相近的图形部位,并将其添加至编辑列表;对编辑列表的图形部位进行组合,进一步将组合部位集使用可交互界面进行编辑得到多个目标图形;将多个目标图形使用界面进行展示,并挑选出最佳目标图形。本发明专利技术的有益效果为:简化了游戏图形需求和设计过程中繁杂的交流及修改过程,实现了高效率的游戏动画图形的制作,大大节省了人力和物力的开销。

A game resource caching method and system based on periodic cost

The technical scheme of the invention comprises a game resource caching method and system for realizing cycle cost based on analysis of demand: instruction, obtaining key fields; to traverse the graphics library, and get the same key field or / and similar graphical parts, and add it to the edit list; combination of graphical parts of edit the list, further combination of parts set using interactive interface to edit multiple target graphics; multiple target graphic user interface display, and select the best graphics. The beneficial effect of the invention is that it simplifies the game graphic requirement and the complicated communication and modification process in the design process, realizes the production of highly efficient game animation graphics, and greatly saves manpower and material resources.

【技术实现步骤摘要】
一种基于周期成本的游戏资源缓存方法和系统
本专利技术涉及一种基于周期成本的游戏资源缓存方法和系统,属于计算机游戏数据处理领域。
技术介绍
大部分游戏软件都会面临的问题是内存紧张,在内存有限的游戏中,自定义的资源缓存被用来扩展场景的数据量,同时只使用很小的内存区域而不是一次性将所有资源装入内存。使用缓存系统时,最重要的因素是:当缓存填充达到其上限时,选择适当的替换页面来腾空。当缓存未命中时,页面替换算法的选择至关重要——这种选择和游戏的硬件内存使用的性能与效率直接相关。不好的算法往往会破坏游戏的性能,而实现得好的算法在不影响其性能的同时,还能成倍地提高游戏质量。流行的缓存替换算法在它们的目标环境下工作得很好,但在需要更多的数据来准确地选择替换页面的情形下,它们往往效率很低。当从主存请求数据时,操作系统将读出的数据放到一个临时的内存区域中(称为高速缓存或缓存),它可以以比主存更快的速度进行存取。高速缓存本身有一个预定义的尺寸,它被分割成较小的称为页面的内存集合。当内存存取时,缓存本身会被填满,此时,操作系统必须从缓存中选择一个页面来存放新来的页面数据。这种情况被称为高速缓存未命中。当需要的页面数大大超过缓存的大小时(通常为2倍或更多),缓存抖动就发生了,也就是说,为了给新来的整个数据集腾出空间,整个缓存都将被丢弃。缓存抖动被认为是任何缓存算法的最坏情况,也是任何缓存替换性能测试的焦点。存储器处理程序要从主存获取信息时,每次都有相关的消耗。通常是因为采用了额外的、靠近处理器本身的内存芯片,所以从缓存读取的消耗较小。因而,如果发生缓存未命中,在决定清除存储器的哪个页面时,其中的一个主要目标是:选择一个在缓存中并不需要有效槽的页面。例如,如果在故障发生的过程中随机选择一个页面来删除,但是,这个页面被删除后恰好立即被需要,这将引起另外一个从主存重新获取数据的性能开销。目标是建立一个算法,它能最好地描述要从缓存删除的理想页面,以减少缓存未命中和性能负担。在游戏开发中,程序员必须和硬件和软件层的缓存打交道,尤其是在游戏机领域,程序员不停地努力增加游戏内容,同时还得满足内存限制。如同许多其他的为解决一个具体问题而定做的替换算法,有些共同的游戏和图形系统需要一个更类似于内存模式和使用模式的替换系统。
技术实现思路
针对现有技术的不足,对一般游戏资源缓存系统实现的现状与造成的原因加以深入分析,分析逻辑与数据有哪些流程上的特点,以及有哪些小粒度可重用的组件本专利技术的技术方案提供了一种基于周期成本的游戏资源缓存方法和系统,以达到大大缩短游戏系统开发周期,增强代码可维护性与可重用性,大大加强游戏的运行稳定性与渲染效率和效果表现的目的。本专利技术的技术方案包括一种基于周期成本的游戏资源缓存方法,其特征在于,该方法包括:A.根据主存请求获取获取新加入缓存的页面数据,在每个页面数据创建一维数组,并在数组创建并初始化对应的自定义第一整数变量;B.每次当页面数据被使用或未被使用时将对应的标识在第一整数变量进行记载,并计算页面的生命周期百分比;C.使用第二整数变量计算不同类型的页面数据的相对成本;D.当新加入的页面时,遍历缓存中所有页面的生命周期百分比及相对成本,根据生命周期百分比及相对成本计算页面被取代时所付出的抖动成本,将抖动成本低于指定阈值的页面替换为新加入页面。根据所述的基于周期成本的游戏资源缓存方法,该方法还包括:所述一维数组存放于开辟的缓存空间,所述缓存空间可以自定义增加和删除。根据所述的基于周期成本的游戏资源缓存方法,该方法还包括:所述第一整数变量为32位整数变量,所述第二整数变量为通常变量并且大小没有限制。、根据所述的基于周期成本的游戏资源缓存方法,所述步骤A还包括:根据主存请求加载指定页面至缓存空间,并记录页面数据的类型、大小及加载时间,在页面创建对应的一个32位整数变量并初始化为1,其中的标识位为1。根据所述的基于周期成本的游戏资源缓存方法,所诉步骤B还包括:S51,每隔固定时间段,当页面被使用时,对第一整数变量的标识位进行左移,并将新增位记载为1,当页面未被使用时,对第一整数变量的标识位进行左移,并将新增位记载为0;S52,标识位左移时,计算生命周期百分比,包括获取位移次数及使用次数,计算使用次数与位移次数的比值。根据所述的基于周期成本的游戏资源缓存方法,所述相对成本为:通过游戏资源对应的页面数据量与发送页面数据量的计算得到,对应的,对于不同的游戏资源数据其计算相对成本的方式不同。根据所述的基于周期成本的游戏资源缓存方法,所述步骤D还包括:S71,对放入缓存的超过预设时间量的游戏资源数据页面的生命周期百分比进行检测,并将生命周期百分比作为页面每次使用的生命周期百分比成本;S72,为超过指定阈值生命周期百分比成本的页面创建暂存区,同时在暂存区循环执行步骤S71检查是否存在生命周期百分比成本高于指定阈值且该页面在一定时间内没有被使用,若存在则删除对应游戏资源数据页面。根据所述的基于周期成本的游戏资源缓存方法,所述步骤D还包括:S81,当有新的游戏资源页面加入时,获取缓存中所有页面的生命周期百分比成本及相对成本;S82,计算替换页面时所产生的抖动成本,当计算结果大于预设的值时,则保留页面,若小于预设值则将页面从缓存中剔除,其中抖动成本为生命周期百分比成本与相对成本的乘积;S83,对于具有相同抖动成本及抖动成本位于阈值附近的页面,优先剔除生命周期百分比成本的页面。本专利技术的技术方案还包括一种基于周期成本的游戏资源缓存系统,其特征在于,该系统包括:页面初始化模块,用于根据主存请求获取获取新加入缓存的页面数据,在每个页面数据创建一维数组,并在数组创建并初始化对应的自定义第一整数变量;页面记载模块,用于每次当页面数据被使用或未被使用时将对应的标识在第一整数变量进行记载,并计算页面的生命周期百分比;成本计算模块,使用第二整数变量计算不同类型的页面数据的相对成本;页面替换模块,当新加入的页面时,遍历缓存中所有页面的生命周期百分比及相对成本,根据生命周期百分比及相对成本计算页面被取代时所付出的抖动成本,将抖动成本低于指定阈值的页面替换为新加入页面。本专利技术的有益效果为:缓存页面替换性能的全面增加;较低的抖动开销和填充缓存所需成本;加强游戏的运行稳定性与渲染效率和效果表现。附图说明图1所示为根据本专利技术实施方式的总体流程图;图2所示为根据本专利技术实施方式的纹理剔除流程图。具体实施方式为了使本专利技术的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本专利技术进行详细描述。本专利技术的周期成本的游戏资源缓存方法和系统适用于游戏数据的处理。图1所示为根据本专利技术实施方式的总体流程图。A.根据主存请求获取获取新加入缓存的页面数据,在每个页面数据创建一维数组,并在数组创建并初始化对应的自定义第一整数变量;B.每次当页面数据被使用或未被使用时将对应的标识在第一整数变量进行记载,并计算页面的生命周期百分比;C.使用第二整数变量计算不同类型的页面数据的相对成本;D.当新加入的页面时,遍历缓存中所有页面的生命周期百分比及相对成本,根据生命周期百分比及相对成本计算页面被取代时所付出的抖动成本,将抖动成本低于指定阈值的页面替换为新加入页面。图2所示为根据本专利技术实施方式的纹理本文档来自技高网
...
一种基于周期成本的游戏资源缓存方法和系统

【技术保护点】
一种基于周期成本的游戏资源缓存方法,其特征在于,该方法包括:A.根据主存请求获取获取新加入缓存的页面数据,在每个页面数据创建一维数组,并在数组创建并初始化对应的自定义第一整数变量;B.每次当页面数据被使用或未被使用时将对应的标识在第一整数变量进行记载,并计算页面的生命周期百分比;C.使用第二整数变量计算不同类型的页面数据的相对成本;D.当新加入的页面时,遍历缓存中所有页面的生命周期百分比及相对成本,根据生命周期百分比及相对成本计算页面被取代时所付出的抖动成本,将抖动成本低于指定阈值的页面替换为新加入页面。

【技术特征摘要】
1.一种基于周期成本的游戏资源缓存方法,其特征在于,该方法包括:A.根据主存请求获取获取新加入缓存的页面数据,在每个页面数据创建一维数组,并在数组创建并初始化对应的自定义第一整数变量;B.每次当页面数据被使用或未被使用时将对应的标识在第一整数变量进行记载,并计算页面的生命周期百分比;C.使用第二整数变量计算不同类型的页面数据的相对成本;D.当新加入的页面时,遍历缓存中所有页面的生命周期百分比及相对成本,根据生命周期百分比及相对成本计算页面被取代时所付出的抖动成本,将抖动成本低于指定阈值的页面替换为新加入页面。2.根据权利要求1所述的基于周期成本的游戏资源缓存方法,其特征在于,该方法还包括:所述一维数组存放于开辟的缓存空间,所述缓存空间可以自定义增加和删除。3.根据权利要求1所述的基于周期成本的游戏资源缓存方法,其特征在于,该方法还包括:所述第一整数变量为32位整数变量,所述第二整数变量为通常变量并且大小没有限制。4.根据权利要求1或3所述的基于周期成本的游戏资源缓存方法,其特征在于,所述步骤A还包括:根据主存请求加载指定页面至缓存空间,并记录页面数据的类型、大小及加载时间,在页面创建对应的一个32位整数变量并初始化为1,其中的标识位为1。5.根据权利要求1或4所述的基于周期成本的游戏资源缓存方法,其特征在于,所诉步骤B还包括:S51,每隔固定时间段,当页面被使用时,对第一整数变量的标识位进行左移,并将新增位记载为1,当页面未被使用时,对第一整数变量的标识位进行左移,并将新增位记载为0;S52,标识位左移时,计算生命周期百分比,包括获取位移次数及使用次数,计算使用次数与位移次数的比值。6.根据权利要求1所述的基于周期成本的游戏资源缓存方法,其特征在于,所述相对成本为:通过游戏资源对应的页面数据量与发...

【专利技术属性】
技术研发人员:李茂陈汉辉龙旨日卢歆翮陈镇秋吴海权
申请(专利权)人:珠海金山网络游戏科技有限公司广州西山居世游网络科技有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1