[发明专利]游戏中用户界面的更新方法和装置有效
申请号: | 201811508100.X | 申请日: | 2018-12-11 |
公开(公告)号: | CN109558159B | 公开(公告)日: | 2022-02-15 |
发明(设计)人: | 陆胜 | 申请(专利权)人: | 网易(杭州)网络有限公司 |
主分类号: | G06F8/656 | 分类号: | G06F8/656;G06F9/451 |
代理公司: | 北京同立钧成知识产权代理有限公司 11205 | 代理人: | 祝乐芳;刘芳 |
地址: | 310052 浙江省*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 游戏 用户界面 更新 方法 装置 | ||
本发明提供一种游戏中用户界面的更新方法和装置,包括:接收游戏中UI对应的元素树中的目标节点的更新命令,根据更新命令,仅对元素树中目标节点以及目标节点的子孙节点进行更新,为每个被更新的节点分别生成新的渲染命令,根据被更新节点的新的渲染命令更新当前帧的前一帧的链表,得到当前帧的链表,当前帧的链表和前一帧的链表均由元素树中的所有节点的渲染命令链接得到,根据当前帧的链表进行渲染得到当前帧对应的UI。所述方法中,当目标节点接收到更新命令时,仅需要目标节点以及目标节点的子孙节点进行更新,对元素树中的其他节点不需要更新,从而降低了UI更新占用的计算资源。
技术领域
本发明涉及游戏领域,尤其涉及一种游戏中用户界面(User Interface,简称UI)的更新方法和装置。
背景技术
UI是游戏中玩家与机器交互的媒介,UI中包括一些信息和用于人机交互的按钮。UI中的信息包括小地图、道具栏、角色的各种状态信息等。UI中的按钮包括一些技能按钮、功能按钮等。
在游戏运行过程中,UI需要不断更新。UI在逻辑上是由各类子节点按照树形层级结构组织起来的,节点在功能上分为两种:负责实际逻辑,以及负责组织层级。不同节点可以拥有其中一种或是两种功能。现有技术中,对于树形组织结构的UI,在更新时可以采用深度优先遍历算法,遍历所有节点。每个节点被遍历时需要执行更新逻辑,计算变换矩阵,以及输出渲染命令给绘制层。
但是,现有技术中,每一帧都需要遍历所有节点,对每个节点执行更新逻辑、计算变换矩阵、输出渲染命令,导致UI更新占用较多的计算资源,影响游戏性能。
发明内容
本发明提供一种游戏中用户界面的更新方法和装置,能够降低游戏中UI更新占用的计算资源。
本发明第一方面提供一种游戏中用户界面的更新方法,包括:
接收游戏中用户界面UI对应的元素树中的目标节点的更新命令;
根据所述更新命令,仅对所述目标节点以及所述目标节点的子孙节点进行更新,为每个被更新的节点分别生成新的渲染命令;
根据所述被更新节点的新的渲染命令更新当前帧的前一帧的链表,得到所述当前帧的链表,所述当前帧的链表和所述前一帧的链表均由所述元素树中的所有节点的渲染命令链接得到;
根据所述当前帧的链表进行渲染得到所述当前帧对应的UI。
可选的,所述根据所述更新命令,仅对所述目标节点以及所述目标节点的子节点进行更新,为每个被更新的节点分别生成新的渲染命令,包括:
根据所述更新命令,将所述目标节点以及所述目标节点的子孙节点的状态设置为全更新状态,将所述目标节点的祖先节点的状态设置为链表更新状态;
根据所述目标节点以及所述目标节点的子孙节点的状态,对所述目标节点以及所述目标节点的子孙节点进行更新,为每个被更新的节点分别生成新的渲染命令。
可选的,所述根据所述被更新节点的新的渲染命令更新当前帧的前一帧的链表,得到所述当前帧的链表,包括:
针对所述每个被更新节点,根据该被更新节点的新的渲染命令和该被更新节点的所有子孙节点在所述当前帧中的链表段更新该被更新节点在所述前一帧中的链表段,得到该被更新节点在当前帧中的链表段,该被更新节点在所述当前帧中的链表段为所述当前帧的链表的一部分,该被更新节点在所述前一帧中的链表段为所述前一帧的链表的一部分;
保存该被更新节点在所述当前帧中的链表段,并将该被更新节点在所述当前帧中的链表段传递给该被更新节点的父节点;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于网易(杭州)网络有限公司,未经网易(杭州)网络有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811508100.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:基于网络更新FPGA和DSP程序的装置及方法
- 下一篇:升级方法、嵌入式系统