本发明涉及网络游戏技术领域,尤其涉及一种游戏渲染的优化方法及终端。
背景技术:
MMORPG是指大型多人在线角色扮演游戏。在游戏的主城区,或者在市场区,经常会有很多玩家扎堆在一起,聊天,做任务的。尤其在公测的时候,每个区域一大片都是玩家。在玩家当前视野里,当周边有很多其他玩家及其跟宠的时候,游戏画面就比较卡。尤其对于那些配置比较低的手机,游戏卡就会比较明显。而游戏太卡,会严重影响玩家游戏体验。
技术实现要素:
本发明所要解决的技术问题是:本发明提供了一种游戏渲染的优化方法及终端,解决了游戏画面渲染卡顿的问题,提高了玩家的游戏体验。
为了解决上述技术问题,本发明提供了一种游戏渲染的优化方法,包括以下步骤:
S1:判断预设的优化控制开关是否开启,若是,则判断游戏的帧率是否小于预设帧率阈值,若小于,则执行步骤S2;
S2:判断游戏中预设的第一玩家角色是否在运动,若是,则执行步骤S3;
S3:优化游戏中除所述第一玩家角色外的其他玩家角色的渲染显示效果。
本发明还提供一种游戏渲染的优化终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现以下步骤:
S1:判断预设的优化控制开关是否开启,若是,则判断游戏的帧率是否小于预设帧率阈值,若小于,则执行步骤S2;
S2:判断游戏中预设的第一玩家角色是否在运动,若是,则执行步骤S3;
S3:优化游戏中除所述第一玩家角色外的其他玩家角色的渲染显示效果。
本发明的有益效果为:
本发明提供的一种游戏渲染的优化方法及终端,若用户开启优化控制开关后,当游戏的帧率小于预设帧率阈值,且预设的第一玩家角色在运动,则对游戏中其他玩家角色的渲染显示进行优化,以使第一玩家角色在运动过程中,并不会由于手机或电脑的配置较低,而造成图像画面渲染卡顿的现象,提高了玩家的游戏体验。
附图说明
图1为根据本发明实施例的一种游戏渲染的优化方法的主要步骤示意图;
图2为根据本发明实施例的一种游戏渲染的优化终端的结构示意图;
标号说明:
1、存储器;2、处理器。
具体实施方式
为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图详予说明。
本发明最关键的技术构思为:当预设的优化控制开关开启,游戏的帧率小于预设帧率阈值,以及第一玩家角色在运动,则对游戏画面渲染进行优化。
请参照图1,本发明提供了一种游戏渲染的优化方法,包括以下步骤:
S1:判断预设的优化控制开关是否开启,若是,则判断游戏的帧率是否小于预设帧率阈值,若小于,则执行步骤S2;
S2:判断游戏中预设的第一玩家角色是否在运动,若是,则执行步骤S3;
S3:优化游戏中除所述第一玩家角色外的其他玩家角色的渲染显示效果。
从上述描述可知,本发明提供的一种游戏渲染的优化方法,若用户开启优化控制开关后,当游戏的帧率小于预设帧率阈值,且预设的第一玩家角色在运动,则对游戏中其他玩家角色的渲染显示进行优化,以使第一玩家角色在运动过程中,并不会由于手机或电脑的配置较低,而造成图像画面渲染卡顿的现象,提高了玩家的游戏体验。
进一步的,所述S1具体为:
S11:预设计数变量;
S12:判断预设的优化控制开关是否开启;
S13:若是,令所述计数变量的初始值为0;
S14:获取当前游戏画面渲染时对应的初始时间点,并使所述计数变量自加1;
S15:实时判断游戏画面是否有进行渲染,若有,则记录渲染游戏画面时对应的第一时间点,并使所述计数变量自加1;
S16:计算所述第一时间点与所述初始时间点的差值,得到第一时间;判断所述第一时间是否大于1秒;
S17:若是,将所述计数变量除以所述第一时间,得到所述帧率;若否,则重复执行步骤S15至S16,直至计算得到所述帧率;
S18:判断帧率是否小于预设帧率阈值;
S19:若小于,则执行步骤S2;否则,重复执行步骤S12至S18。
从上述描述可知,通过上述方法,能够快速准确地判断出游戏帧率是否小于预设帧率阈值,提高了游戏渲染优化数据处理效率。
进一步的,所述S2具体为:
获取游戏中所述第一玩家角色当前所处的第一位置;
每隔预设第二时间获取所述第一玩家角色所位于的第二位置;
若所述第二位置与第一位置不相同,则判断所述第一玩家角色是运动的。
从上述描述可知,通过上述方法,能够准确可靠地判断第一玩家角色是否运动。
进一步的,所述S3具体为:
遍历游戏中当前画面中除所述第一玩家角色外的所有其他玩家角色,得到其他角色的玩家个数;
若所述玩家个数大于预设个数阈值,则将所有其他玩家角色以距离所述第一玩家角色从近到远的距离进行排序,得到玩家角色排序结果;
根据所述玩家角色排序结果,渲染距离所述第一玩家角色预设第一距离阈值范围内的其他玩家角色的名字、模型及光效;
根据所述玩家角色排序结果,渲染距离所述第一玩家角色所述第一距离阈值范围外的其他玩家角色的名字;
渲染所述所有其他玩家角色对应的宠物的名字。
从上述描述可知,通过上述方法,能够有效对游戏画面中其他的玩家角色及宠物的渲染进行优化,解决了第一玩家角色在运动时,游戏画面卡顿的问题,提高了玩家的游戏体验。
进一步的,所述的一种游戏渲染的优化方法,还包括:
若所述玩家个数不大于预设个数阈值,则渲染距离所述所有其他玩家角色的名字、模型及光效;
遍历游戏中当前画面中除所述第一玩家角色外的所有其他玩家角色的宠物,得到宠物个数;
若所述玩家个数与宠物个数之和大于所述个数阈值,则将所有其他玩家角色的宠物以距离所述第一玩家角色从近到远的距离进行排序,得到玩家角色的宠物排序结果;
根据所述玩家角色的宠物排序结果,渲染距离所述第一玩家角色所述第一距离阈值范围内的其他玩家角色的宠物名字、宠物模型及宠物光效;
根据所述玩家角色的宠物排序结果,渲染距离所述第一玩家角色所述第一距离阈值范围外的其他玩家角色的宠物名字。
从上述描述可知,通过上述方法,即保证了游戏画家显示效果,又能保证游戏画家不会卡,提高了用户体验。
进一步的,所述S3之后还包括:
每隔预设第三时间获取游戏画面中新增的玩家角色,得到新增玩家角色个数;
若所述新增玩家角色个数与玩家个数之和大于所述个数阈值,则渲染所有新增的玩家角色的名字;
否则,则渲染所有新增的玩家角色的名字、模型及光效。
从上述描述可知,通过上述方法,能够有效地对新增的游戏玩家角色进行有效渲染,并保证游戏画面不会卡顿。
进一步的,所述S3之后还包括:
判断所述优化控制开关是否关闭或所述第一玩家角色是否为静止的;
若是,则结束游戏画面渲染的优化。
从上述描述可知,通过上述方法,能够及时关闭游戏画面的渲染优化,保证玩家之间能够进行交互。
请参照图2,本发明还提供一种游戏渲染的优化终端,包括存储器1、处理器2及存储在存储器1上并可在处理器2上运行的计算机程序,所述处理器2执行所述程序时实现以下步骤:
S1:判断预设的优化控制开关是否开启,若是,则判断游戏的帧率是否小于预设帧率阈值,若小于,则执行步骤S2;
S2:判断游戏中预设的第一玩家角色是否在运动,若是,则执行步骤S3;
S3:优化游戏中除所述第一玩家角色外的其他玩家角色的渲染显示效果。
进一步的,所述的一种游戏渲染的优化终端,所述S1具体为:
S11:预设计数变量;
S12:判断预设的优化控制开关是否开启;
S13:若是,令所述计数变量的初始值为0;
S14:获取当前游戏画面渲染时对应的初始时间点,并使所述计数变量自加1;
S15:实时判断游戏画面是否有进行渲染,若有,则记录渲染游戏画面时对应的第一时间点,并使所述计数变量自加1;
S16:计算所述第一时间点与所述初始时间点的差值,得到第一时间;判断所述第一时间是否大于1秒;
S17:若是,将所述计数变量除以所述第一时间,得到所述帧率;若否,则重复执行步骤S15至S16,直至计算得到所述帧率;
S18:判断帧率是否小于预设帧率阈值;
S19:若小于,则执行步骤S2;否则,重复执行步骤S12至S18。
进一步的,所述的一种游戏渲染的优化终端,所述S2具体为:
获取游戏中所述第一玩家角色当前所处的第一位置;
每隔预设第二时间获取所述第一玩家角色所位于的第二位置;
若所述第二位置与第一位置不相同,则判断所述第一玩家角色是运动的。
进一步的,所述的一种游戏渲染的优化终端,所述S3具体为:
遍历游戏中当前画面中除所述第一玩家角色外的所有其他玩家角色,得到其他角色的玩家个数;
若所述玩家个数大于预设个数阈值,则将所有其他玩家角色以距离所述第一玩家角色从近到远的距离进行排序,得到玩家角色排序结果;
根据所述玩家角色排序结果,渲染距离所述第一玩家角色预设第一距离阈值范围内的其他玩家角色的名字、模型及光效;
根据所述玩家角色排序结果,渲染距离所述第一玩家角色所述第一距离阈值范围外的其他玩家角色的名字;
渲染所述所有其他玩家角色对应的宠物的名字。
进一步的,所述的一种游戏渲染的优化终端,还包括:
若所述玩家个数不大于预设个数阈值,则渲染距离所述所有其他玩家角色的名字、模型及光效;
遍历游戏中当前画面中除所述第一玩家角色外的所有其他玩家角色的宠物,得到宠物个数;
若所述玩家个数与宠物个数之和大于所述个数阈值,则将所有其他玩家角色的宠物以距离所述第一玩家角色从近到远的距离进行排序,得到玩家角色的宠物排序结果;
根据所述玩家角色的宠物排序结果,渲染距离所述第一玩家角色所述第一距离阈值范围内的其他玩家角色的宠物名字、宠物模型及宠物光效;
根据所述玩家角色的宠物排序结果,渲染距离所述第一玩家角色所述第一距离阈值范围外的其他玩家角色的宠物名字。
进一步的,所述的一种游戏渲染的优化终端,所述S3之后还包括:
每隔预设第三时间获取游戏画面中新增的玩家角色,得到新增玩家角色个数;
若所述新增玩家角色个数与玩家个数之和大于所述个数阈值,则渲染所有新增的玩家角色的名字;
否则,则渲染所有新增的玩家角色的名字、模型及光效。
进一步的,所述的一种游戏渲染的优化终端,所述S3之后还包括:
判断所述优化控制开关是否关闭或所述第一玩家角色是否为静止的;
若是,则结束游戏画面渲染的优化。
本发明的实施例一为:
本发明提供的一种游戏渲染的优化方法,包括以下步骤:
S1:判断预设的优化控制开关是否开启,若是,则判断游戏的帧率是否小于预设帧率阈值,若小于,则执行步骤S2;
所述S1具体为:
S11:预设计数变量;
S12:判断预设的优化控制开关是否开启;
S13:若是,令所述计数变量的初始值为0;
S14:获取当前游戏画面渲染时对应的初始时间点,并使所述计数变量自加1;
S15:实时判断游戏画面是否有进行渲染,若有,则记录渲染游戏画面时对应的第一时间点,并使所述计数变量自加1;
S16:计算所述第一时间点与所述初始时间点的差值,得到第一时间;判断所述第一时间是否大于1秒,
S17:若是,将所述计数变量除以所述第一时间,得到所述帧率;若否,则重复执行步骤S15至S16,直至计算得到所述帧率;
S18:判断帧率是否小于预设帧率阈值;
S19:若小于,则执行步骤S2;否则,重复执行步骤S12至S18。
优选的,所述帧率阈值为20帧每秒;
S2:判断游戏中预设的第一玩家角色是否在运动,若是,则执行步骤S3;
所述S2具体为:
获取游戏中所述第一玩家角色当前所处的第一位置;
每隔预设第二时间获取所述第一玩家角色所位于的第二位置;
若所述第二位置与第一位置不相同,则判断所述第一玩家角色是运动的。
优选的,所述第二时间为0.1-2秒。
S3:优化游戏中除所述第一玩家角色外的其他玩家角色的渲染显示效果;
所述S3具体为:
遍历游戏中当前画面中除所述第一玩家角色外的所有其他玩家角色,得到其他角色的玩家个数;
若所述玩家个数大于预设个数阈值,则将所有其他玩家角色以距离所述第一玩家角色从近到远的距离进行排序,得到玩家角色排序结果;
根据所述玩家角色排序结果,渲染距离所述第一玩家角色预设第一距离阈值范围内的其他玩家角色的名字、模型及光效;
根据所述玩家角色排序结果,渲染距离所述第一玩家角色所述第一距离阈值范围外的其他玩家角色的名字;
渲染所述所有其他玩家角色对应的宠物的名字;
若所述玩家个数不大于预设个数阈值,则渲染距离所述所有其他玩家角色的名字、模型及光效;
遍历游戏中当前画面中除所述第一玩家角色外的所有其他玩家角色的宠物,得到宠物个数;
若所述玩家个数与宠物个数之和大于所述个数阈值,则将所有其他玩家角色的宠物以距离所述第一玩家角色从近到远的距离进行排序,得到玩家角色的宠物排序结果;
根据所述玩家角色的宠物排序结果,渲染距离所述第一玩家角色所述第一距离阈值范围内的其他玩家角色的宠物名字、宠物模型及宠物光效;
根据所述玩家角色的宠物排序结果,渲染距离所述第一玩家角色所述第一距离阈值范围外的其他玩家角色的宠物名字。
优选的,所述个数阈值为30;
其中,第一距离阈值可根据游戏情况进行调整。
S4:每隔预设第三时间获取游戏画面中新增的玩家角色,得到新增玩家角色个数;
若所述新增玩家角色个数与玩家个数之和大于所述个数阈值,则渲染所有新增的玩家角色的名字;
否则,则渲染所有新增的玩家角色的名字、模型及光效。
优选的,所述第三时间为0.1-1秒。
S5:实时判断所述优化控制开关是否关闭或所述第一玩家角色是否为静止的;若是,则结束游戏画面渲染的优化。
其中,在执行步骤S1至S4时,并列执行步骤S5。
本发明的实施例二为:
本发明提供的一种游戏渲染的优化终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现以下步骤:
S1:判断预设的优化控制开关是否开启,若是,则判断游戏的帧率是否小于预设帧率阈值,若小于,则执行步骤S2;
所述S1具体为:
S11:预设计数变量;
S12:判断预设的优化控制开关是否开启;
S13:若是,令所述计数变量的初始值为0;
S14:获取当前游戏画面渲染时对应的初始时间点,并使所述计数变量自加1;
S15:实时判断游戏画面是否有进行渲染,若有,则记录渲染游戏画面时对应的第一时间点,并使所述计数变量自加1;
S16:计算所述第一时间点与所述初始时间点的差值,得到第一时间;判断所述第一时间是否大于1秒;
S17:若是,将所述计数变量除以所述第一时间,得到所述帧率;若否,则重复执行步骤S15至S16,直至计算得到所述帧率;
S18:判断帧率是否小于预设帧率阈值;
S19:若小于,则执行步骤S2;否则,重复执行步骤S12至S18。
优选的,所述帧率阈值为20帧每秒;
S2:判断游戏中预设的第一玩家角色是否在运动,若是,则执行步骤S3;
所述S2具体为:
获取游戏中所述第一玩家角色当前所处的第一位置;
每隔预设第二时间获取所述第一玩家角色所位于的第二位置;
若所述第二位置与第一位置不相同,则判断所述第一玩家角色是运动的。
优选的,所述第二时间为0.1-2秒。
S3:优化游戏中除所述第一玩家角色外的其他玩家角色的渲染显示效果;
所述S3具体为:
遍历游戏中当前画面中除所述第一玩家角色外的所有其他玩家角色,得到其他角色的玩家个数;
若所述玩家个数大于预设个数阈值,则将所有其他玩家角色以距离所述第一玩家角色从近到远的距离进行排序,得到玩家角色排序结果;
根据所述玩家角色排序结果,渲染距离所述第一玩家角色预设第一距离阈值范围内的其他玩家角色的名字、模型及光效;
根据所述玩家角色排序结果,渲染距离所述第一玩家角色所述第一距离阈值范围外的其他玩家角色的名字;
渲染所述所有其他玩家角色对应的宠物的名字;
若所述玩家个数不大于预设个数阈值,则渲染距离所述所有其他玩家角色的名字、模型及光效;
遍历游戏中当前画面中除所述第一玩家角色外的所有其他玩家角色的宠物,得到宠物个数;
若所述玩家个数与宠物个数之和大于所述个数阈值,则将所有其他玩家角色的宠物以距离所述第一玩家角色从近到远的距离进行排序,得到玩家角色的宠物排序结果;
根据所述玩家角色的宠物排序结果,渲染距离所述第一玩家角色所述第一距离阈值范围内的其他玩家角色的宠物名字、宠物模型及宠物光效;
根据所述玩家角色的宠物排序结果,渲染距离所述第一玩家角色所述第一距离阈值范围外的其他玩家角色的宠物名字。
优选的,所述个数阈值为30;
其中,第一距离阈值可根据游戏情况进行调整。
S4:每隔预设第三时间获取游戏画面中新增的玩家角色,得到新增玩家角色个数;
若所述新增玩家角色个数与玩家个数之和大于所述个数阈值,则渲染所有新增的玩家角色的名字;
否则,则渲染所有新增的玩家角色的名字、模型及光效。
优选的,所述第三时间为0.1-1秒。
S5:实时判断所述优化控制开关是否关闭或所述第一玩家角色是否为静止的;若是,则结束游戏画面渲染的优化。
其中,在执行步骤S1至S4时,并列执行步骤S5。
关于上述实施例的相关说明:
1、新增的玩家角色的优化处理:
a.优化处理中,新增的玩家角色的显示优先级是在现有玩家优先级之后的。
这样处理的目的是:现有其他玩家因为原本就是看得见的,只有在当前屏幕中所有玩家数量超过阀值,才会导致那些离我(玩家本人)远的被优化掉,只显示名字;
而新增进来的玩家,只有当前屏幕中玩家数量没超过阀值,才会显示模型,否则不会显示。因为是新进来的,原本就没有,因此优化的时候看不见模型,不会显得比较突然。
新进来的玩家进行优化的时候,不会参与到现有玩家里的距离排序里面。因为现有玩家显示的优先级高于新进来玩家的优先级。
b.由于我们的优化是在玩家运动过程中才开启的,不用担心优化开启之后玩家身边某个其他玩家找不到。当我们要和其他某个玩家进行交互的时候,会先停下来,这时候优化会自动停止,原本该看到的其他玩家仍然会看到,不影响操作。
c.优化处理里面,对名字,模型,光效的显示设置可以根据需要调整。
比如模型和光效可以设置同时显示或者同时不显示。
2、关于结束游戏画面渲染的优化的相关解释:
优化处理关闭条件检测,满足下面的条件就会关闭自动优化处理:
a.判断当前是否关闭优化控制开关,
或者,
b.判断当前第一玩家角色是否静止状态,
只要存在a条件,或者b条件,都会触发自动优化停止。
说明:优化开启的条件除了优化控制开关打开之后,还有两个:帧率低于阀值,第一玩家角色运动中。但是优化关闭的条件是优化控制开关关闭或者第一玩家角色静止,少了一个帧率低于阀值的条件。这个处理主要是考虑到由于帧率是动态变化的,当帧率处于阀值上下的时候,如果我们采用了帧率高于阀值就关闭优化,则可能会出现优化一会触发,一会停止的情况,这个其实体验很不好,画面可能会一卡一卡的。
因此我们这边的方案是,优化开启后,不管帧率是否已经高于阀值了,都要等第一玩家角色停止运行或者检测到优化控制形状关闭了才停止优化。
综上所述,本发明提供的一种游戏渲染的优化方法及终端,若用户开启优化控制开关后,当游戏的帧率小于预设帧率阈值,且预设的第一玩家角色在运动,则对游戏中其他玩家角色的渲染显示进行优化,以使第一玩家角色在运动过程中,并不会由于手机或电脑的配置较低,而造成图像画面渲染卡顿的现象,提高了玩家的游戏体验。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。