[发明专利]一种游戏引擎渲染方法及装置有效
申请号: | 201410069556.6 | 申请日: | 2014-02-27 |
公开(公告)号: | CN103942823B | 公开(公告)日: | 2018-07-24 |
发明(设计)人: | 方任扬 | 申请(专利权)人: | 广州爱九游信息技术有限公司 |
主分类号: | G06T15/00 | 分类号: | G06T15/00 |
代理公司: | 北京律谱知识产权代理事务所(普通合伙) 11457 | 代理人: | 黄云铎 |
地址: | 510627 广东省广州市天河区黄埔大*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 游戏 引擎 渲染 方法 装置 | ||
本发明公开了一种游戏引擎渲染方法。所述游戏引擎渲染方法包括:执行线程执行JS代码生成渲染命令组;将所述渲染命令组写入预设队列的空闲帧中;渲染线程从所述预设队列按顺序读取已经写入渲染命令组的可用帧;根据读取的所述可用帧中的渲染命令组进行渲染。本发明还相应公开了一种游戏引擎渲染装置。本发明实施例所提供的游戏引擎渲染方法及装置,通过设置预设队列,使执行线程与渲染线程分别作为两个独立的执行线程,两部分执行线程的执行很少受对方执行进程的限制,因此,缩短了游戏引擎的程序的循环周期,提高了渲染速度,也提高了渲染效率。
技术领域
本发明涉及移动通信技术领域,更具体而言,涉及一种游戏引擎渲染方法及装置。
背景技术
作为一款第五代超文本标记语言(HyperText Markup Language5,HTML5)游戏引擎,X-Canvas广泛应用于移动终端的游戏开发中,其工作流程包括JS(JavaScript脚本语言)执行部分和图像渲染部分。当进入游戏后,X-Canvas引擎被激活,开始执行JS程序。如图1所示,步骤S001,执行JS代码。JS执行部分通过执行JS代码生成一组渲染命令,这组渲染命令可以包括图像绘制命令、图形绘制命令、文字绘制命令及绘图环境设置命令,也可以包括采集图像数据的命令;步骤S002,执行渲染。执行渲染命令组所指定的操作,在步骤S002执行,步骤S001进入等待,当步骤S002的渲染过程执行完成后,程序进入下一轮运行,步骤S001的JS执行部分进入下一组渲染命令的计算。
可以发现,X-Canvas采用单线程程序执行模式,所述单线程程序执行模式是指,程序的执行路径是以时间为顺序的串行结构。也就是说,在X-Canvas的程序执行过程中,图像渲染部分必须在JS执行部分执行完成后才能开始执行,而JS执行部分在完成一次计算后,需要等待图像渲染部分执行完成后,才能进行下一次计算。因此,导致游戏引擎的程序循环周期过长,渲染效率过低。
发明内容
有鉴于此,本发明实施例提供一种游戏引擎渲染方法及装置,能够缩短程序的循环周期,提高渲染效率。
第一方面,本发明实施例提供了一种游戏引擎渲染方法,所述方法包括:执行线程执行JS代码生成渲染命令组;将所述渲染命令组写入预设队列的空闲帧中;渲染线程从所述预设队列按顺序读取已经写入渲染命令组的可用帧;根据读取的所述可用帧中的渲染命令组进行渲染。
在第一方面的第一种可能的实现方式中,将所述渲染命令组写入预设队列的空闲帧中之前包括:判断所述预设队列是否有空闲帧;若是,一直执行将所述渲染命令组写入预设队列的空闲帧的步骤,若否,则等待。
结合第一方面或第一方面的第一种可能的实现方式,在第二种可能的实现方式中,将所述渲染命令组写入预设队列的空闲帧中之后包括:执行线程通知渲染线程;渲染线程根据所述通知执行从所述预设队列按顺序读取已经写入渲染命令组的可用帧的步骤。
结合第一方面或第一方面的第一种或第二种可能的实现方式,在第三种可能的实现方式中,所述渲染线程从所述预设队列按顺序读取已经写入渲染命令组的可用帧包括:渲染线程从所述预设队列按先入先出的顺序读取已经写入渲染命令组的可用帧。
结合第一方面或第一方面的第一种或第二种或第三种可能的实现方式,在第四种可能的实现方式中,所述渲染线程从所述预设队列按顺序读取已经写入渲染命令组的可用帧时,若发现没有可用帧,则重复执行上一渲染操作。
结合第一方面或第一方面的第一种或第二种或第三种或第四种可能的实现方式,在第五种可能的实现方式中,所述根据读取的可用帧中的渲染命令组进行渲染后,所述渲染线程将所述被读取的可用帧标识为空闲帧,使得所述执行线程执行写入操作时将生成的渲染命令组按覆盖的方式写入。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州爱九游信息技术有限公司,未经广州爱九游信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410069556.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:卧床病人护理搬动装置
- 下一篇:一种多功能护理床