CN110286979A - 减少UI遮蔽导致的Overdraw的渲染方法和系统 - Google Patents

减少UI遮蔽导致的Overdraw的渲染方法和系统 Download PDF

Info

Publication number
CN110286979A
CN110286979A CN201910538876.4A CN201910538876A CN110286979A CN 110286979 A CN110286979 A CN 110286979A CN 201910538876 A CN201910538876 A CN 201910538876A CN 110286979 A CN110286979 A CN 110286979A
Authority
CN
China
Prior art keywords
background
top layer
game
layer
scene
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
CN201910538876.4A
Other languages
English (en)
Other versions
CN110286979B (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.)
Hangzhou Jedi Technology Co Ltd
Original Assignee
Hangzhou Jedi Technology 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 Hangzhou Jedi Technology Co Ltd filed Critical Hangzhou Jedi Technology Co Ltd
Priority to CN201910538876.4A priority Critical patent/CN110286979B/zh
Publication of CN110286979A publication Critical patent/CN110286979A/zh
Application granted granted Critical
Publication of CN110286979B publication Critical patent/CN110286979B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)

Abstract

本发明公开了一种减少UI遮蔽导致的Overdraw的渲染方法和系统,涉及游戏图像处理技术领域。该方案中,先于系统初始化阶段预设一层背景UI,且该背景UI始终显示在所有UI的最底层,后续对于每一个新显示的UI均进行如下操作:将新显示的UI置于顶层,得到顶层UI,然后根据顶层UI的透明状态,隐藏游戏场景以及除了顶层UI之外的所有其它UI,只渲染顶层UI;或动态填充预设背景UI,并显示该UI,隐藏游戏场景以及除了顶层UI和背景UI之外的所有其它UI,按顺序先后渲染背景UI和顶层UI。减少了overdraw,降低了GPU性能负担、能耗及发热;此外,该方法具有很好的普适性,有更低的成本和更高的效率。

Description

减少UI遮蔽导致的Overdraw的渲染方法和系统
技术领域
本发明涉及游戏图像处理技术领域,尤其涉及一种减少UI遮蔽导致的Overdraw的渲染方法和系统。
背景技术
在游戏效果呈现的过程中,经常会出现游戏场景以及多重UI弹窗同时显示的情况。而这些同时显示的UI弹窗以及游戏场景之间会存在相互遮蔽的区域,而在渲染过程中,由于每个UI弹窗都会渲染一次,所以,相互遮蔽的区域会被渲染多次,产生Overdraw。
而每次Overdraw都意味着GPU管线的完整渲染流程,所以,过多的Overdraw会带来很大的性能消耗,特别的对于移动终端来说,是发热和耗电的主要来源之一,因此减少Overdraw通常能显著提升整体性能,特别是对于UI内容较多,经常出现多重UI的游戏改善尤其明显。
如果希望减少多重UI导致的Overdraw,当前的主要手段是从美术设计的角度考虑,通过减少图层、减少重叠区域、选用合适的UI控件等方式来实现。
上述方法虽然可以进行一定程度的优化,但对美术设计方案提出了诸多限制,需要更高级的美术人员来花更多的时间进行设计,从而提高了产品的开发成本,特别是对于需要快速迭代的产品尤甚。
发明内容
本发明的目的在于提供一种减少UI遮蔽导致的Overdraw的渲染方法和系统,从而解决现有技术中存在的前述问题。
为了实现上述目的,本发明采用的技术方案如下:
本发明一方面提供了一种减少UI遮蔽导致的Overdraw的渲染方法,包括如下步骤:
S1,预设一层背景UI,该背景UI为一张全屏不透明的RenderTexture,显示层级设为最小UI层级;
S2,将新显示的UI置于顶层,得到顶层UI;
S3,判断所述顶层UI是否全屏不透明,如果是,则隐藏游戏场景以及除了所述顶层UI之外的所有其它UI;否则,先动态填充S1中所述背景UI中的RenderTexture,然后显示该背景UI,最后隐藏游戏场景以及除了所述顶层UI和所述背景UI之外的所有其它UI;
S4,根据UI层级,按顺序渲染所有可见的UI,即对于S3中所述顶层UI为全屏不透明的情况,渲染所述顶层UI;对于S3中所述顶层UI不为全屏不透明的情况,先渲染所述背景UI,再渲染所述顶层UI。
优选地,S3中,所述隐藏通过设置指定元素为不可见状态实现,所述显示通过设置指定元素为可见状态实现。
优选地,S3中所述动态填充S1中所述背景UI中的RenderTexture,按照如下方法实施:截取当前屏幕内容并进行高斯模糊,得到模糊后的屏幕截图,将该屏幕截图渲染到S1中的所述背景UI的RenderTexture中。
本发明另一方面提供了一种减少UI遮蔽导致的Overdraw的渲染系统,包括初始化模块、控制模块、图层管理模块、隐藏处理模块和渲染处理模块;
所述初始化模块,用于预设一层背景UI,且该背景UI为一张全屏不透明的RenderTexture,还用于调用图层管理模块来将所述背景UI的层级设置为最小UI层级;
所述控制模块,用于新显示UI,还用于调用所述图层管理模块来将新显示的UI置于顶层,以及调度所述初始化模块、图层管理模块、隐藏处理模块和渲染处理模块进行相应的工作;
所述图层管理模块用于对每层UI和游戏场景的参数数据进行设置和管理;
所述隐藏处理模块用于从所述图层管理模块获取数据,根据该数据对游戏场景和所有UI进行隐藏或显示处理;
所述渲染处理模块用于动态填充所述背景UI中的RenderTexture,还用于从所述隐藏处理模块和图层管理模块获取处理数据,根据该数据判断需渲染的内容并按层级顺序进行渲染。
优选地,所述每层UI和游戏场景的参数包括:可见状态、层级和透明状态,其中,所述可见状态包括显示状态和隐藏状态,所述透明状态包括全屏不透明状态和其它所有的非全屏不透明状态。
优选地,所述隐藏处理模块包括第一数据收发模块和第一数据处理模块,所述第一数据收发模块用于接收所有UI和游戏场景的参数数据,还用于将所述第一数据处理模块的处理结果数据发送至所述渲染处理模块,所述第一数据处理模块用于根据顶层UI的透明状态对游戏场景以及除了顶层UI之外的所有其它UI进行隐藏或显示处理。
优选地,所述第一数据处理模块用于根据顶层UI的透明状态对游戏场景以及除了顶层UI之外的所有其它UI进行隐藏或显示处理,具体为:如果所述顶层UI全屏不透明,则隐藏游戏场景以及除了所述顶层UI之外的所有其它UI;否则,显示所述背景UI,隐藏游戏场景以及除了所述顶层UI和背景UI之外的所有其它UI。
优选地,所述隐藏通过设置指定元素为不可见状态实现,所述显示通过设置指定元素为可见状态实现。
优选地,所述渲染处理模块包括第二数据接收模块和第二数据处理模块,所述第二数据接收模块用于接收所述隐藏处理模块和所述图层管理模块的处理数据,所述第二数据处理模块用于动态填充所述背景UI中的RenderTexture,还用于从所述隐藏处理模块和图层管理模块获取处理数据,根据该数据判断需渲染的内容并按层级顺序进行渲染:如果隐藏游戏场景以及除了所述顶层UI之外的所有其它UI,则渲染所述顶层UI;如果隐藏游戏场景以及除了所述顶层UI和所述背景UI之外的所有其它UI,则先渲染所述背景UI,再渲染所述顶层UI。
优选地,所述动态填充所述背景UI中的RenderTexture,按照如下方法实施:截取当前屏幕内容并进行高斯模糊,得到模糊后的屏幕截图,将该屏幕截图渲染到预设的所述背景UI的RenderTexture中。
本发明的有益效果是:本发明提供了一种减少UI遮蔽导致的Overdraw的渲染方法和系统,该方案中,先于系统初始化阶段预设一层背景UI,设置该背景UI层级最小,令该背景UI始终显示在所有UI的最底层,后续对于每一个新显示的UI均进行如下操作:将新显示的UI置于顶层,得到顶层UI,然后根据顶层UI的透明状态,隐藏游戏场景以及除了所述顶层UI之外的所有其它UI,只渲染顶层UI;或动态填充预设背景UI,并显示该UI,隐藏游戏场景以及除了所述顶层UI和所述背景UI之外的所有其它UI,按顺序先后渲染背景UI和顶层UI。从而在游戏场景和多重UI同时显示时,剔除了不必要的渲染,减少了overdraw,降低了GPU性能负担、能耗及发热;此外,该方法对美术设计方案不做限制,具有很好的普适性,和现有方案比,有更低的成本和更高的效率。
附图说明
图1是本发明提供的减少UI遮蔽导致Overdraw的渲染方法流程示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不用于限定本发明。
本发明中涉及到的相关术语解释如下:
1、Overdraw:是指一帧中GPU对渲染目标(通常为屏幕缓存)上的同一个像素(即同一位置的像素)渲染多次,是常见的性能瓶颈之一,也称“过度渲染”。
2、RenderTexture:是游戏引擎提供的常见组件。其工作原理为:GPU渲染的结果会输出到渲染目标,默认的渲染目标是屏幕缓存(最终会提交给显示设备进行显示),但也可以指定其它渲染目标,RenderTexture就是指定GPU内部的一块缓存为渲染目标,并把这块缓存作为一张Texture(纹理)来用,也称“渲染纹理”。
实施例一
本发明实施例中,游戏场景、多重UI弹窗重叠时,为了减少重叠区域的overdraw,降低GPU性能负担、能耗及发热,剔除了不必要的渲染。
如图1所示,本发明提供了一种减少UI遮蔽导致的Overdraw的渲染方法,包括如下步骤:
S1,预设一层背景UI,该背景UI为一张全屏不透明的RenderTexture,显示层级设为最小UI层级;
S2,将新显示的UI置于顶层,得到顶层UI;
S3,判断所述顶层UI是否全屏不透明,如果是,则隐藏游戏场景以及除了所述顶层UI之外的所有其它UI;否则,先动态填充S1中所述背景UI中的RenderTexture,然后显示该背景UI,最后隐藏游戏场景以及除了所述顶层UI和所述背景UI之外的所有其它UI;
S4,根据UI层级,按顺序渲染所有可见的UI,即对于S3中所述顶层UI为全屏不透明的情况,渲染所述顶层UI;对于S3中所述顶层UI不为全屏不透明的情况,先渲染所述背景UI,再渲染所述顶层UI。
其中,S3中,所述隐藏通过设置指定元素为不可见状态实现,所述显示通过设置指定元素为可见状态实现。
上述方法中,在显示新的UI之前,系统通过初始化过程,预设一层背景UI,该背景UI为一张全屏不透明的RenderTexture,显示层级设为最小UI层级。其中,将背景UI的显示层级设为最小UI层级,就意味着该背景UI总是作为最底层UI显示。渲染遵循以下规则:UI层级越大,越后渲染,也就是越显示在上层。所以,该预设的背景UI总是位于所有UI中的最底层,需要说明的是,任何UI总是显示在游戏场景的上层,包括该背景UI。当每次显示一个新的UI时,将该新显示的UI置于顶层,也就是设置该UI层级为当前顶层UI的层级+1,如果当前没有任何UI,则设置该UI层级为预设背景UI的层级+1。
然后根据该置于顶层的新的UI透明状态不同,进行不同的渲染操作:如果顶层UI是全屏不透明的,则设置游戏场景以及除了所述顶层UI之外的所有其它UI为不可见状态,即隐藏游戏场景以及除了所述顶层UI之外的所有其它UI,此种情况下,只有顶层UI显示,处于可见状态,所以,只需要渲染顶层UI;如果顶层UI是非全屏不透明的(即“全屏并且不透明”以外的任何情况),则首先动态填充预设背景UI的RenderTexture,并将该背景UI设置为可见状态,即显示预设背景UI,然后设置游戏场景以及除了顶层UI和预设背景UI之外的所有其它UI为不可见状态,即隐藏游戏场景以及除了所述顶层UI和预设背景UI之外的所有其它UI,此种情况下,顶层UI以及预设背景UI都处于可见状态,并且顶层UI的层级高于预设背景UI的层级,则首先渲染预设背景UI,然后渲染顶层UI。
所以,采用本发明提供的上述方法,只对最少量的必要UI(顶层UI或顶层UI和预设背景UI)进行渲染,剔除对游戏场景和不必要UI的渲染,从而减少了overdraw。
Overdraw的开销取决于渲染层数(屏幕上同一个像素被渲染了多少次)和面积(有多少像素产生了多层overdraw),经过对实际情况进行统计发现,现有技术中,游戏场景和多重UI同时显示通常会产生较高的Overdraw开销,具体取决于游戏场景复杂度、同时显示的UI数量以及相互遮蔽区域的面积,经验上这种情形下Overdraw的渲染层数通常是一个较高的值(5-8)。采用本发明提供的方法,大部分情况下Overdraw的渲染层数为1或2。
通过Overdraw的数值比较,也会发现采用本发明提供的方法,可以较大的减少Overdraw。而如本领域技术人员可以理解的,每次Overdraw都意味着GPU管线的完整渲染流程,所以,采用本发明提供的方法,会较显著地降低GPU性能负担、能耗及发热,尤其是对于UI比较多、游戏场景比较复杂的情形,效果更加显著。
另外,在实际应用中,游戏开发人员只需设置UI的透明状态、层级等参数,本系统会自动获取这些参数以及完成透明状态判断,对游戏场景和相关UI进行隐藏和渲染处理。因此,采用本发明提供的方法,针对不同的开发情形,只需要游戏开发人员对各UI的参数进行设置即可完成对UI的选择性渲染,而无需游戏开发人员针对不同的开发情形采取不同的措施,从而减少了开发时长,降低了开发成本,提高了开发效率。
在本发明的一个优选实施例中,动态填充S1中所述背景UI中的RenderTexture,按照如下方法实施:截取当前屏幕内容并进行高斯模糊,得到模糊后的屏幕截图,将该屏幕截图渲染到S1中的所述背景UI的RenderTexture中。
本发明中,关于预设背景UI中的内容可以有多种填充方式,一种是填充固定不变的内容,即不管在什么情形下,用户看到的都是相同的背景,体验通常欠佳;另一种是填充当前屏幕内容,由于在不同的情形下,当前屏幕内容是不同的,则背景UI的内容也会随之动态变化,并且该内容在用户看来是合乎情理的,故用户整体体验会比较好。但是,如果当前屏幕内容包含动画,即其内容每帧都会变动,若希望所述背景UI也能展现动画,则需要每帧都进行截屏然后填充,性能开销会比较大;若不展现动画,也就是只在最初截屏并填充一次,后续只显示相同的静态内容,在用户看来可能会觉得比较突兀(动画播放了一部分后静止不动了),体验不够好。为了解决上述不足,本发明在上述第二种方案的基础上提出了第三种方案,如之前所述:截取当前屏幕内容并进行高斯模糊,将模糊后的屏幕截图填充到背景UI中。该方案中,保留了方案二的优点(屏幕截图在模糊后依然保留了模糊前的主要特征,在用户看来仍然属于合乎情理的),并且模糊后淡化了细节,间接转移了用户的视觉焦点,即使不展现动画,用户也不会觉得太突兀,从而兼顾了高性能和良好的用户体验。
实施例二
本发明实施例提供了一种减少UI遮蔽导致的Overdraw的渲染系统,包括初始化模块、控制模块、图层管理模块、隐藏处理模块和渲染处理模块;
所述初始化模块,用于预设一层背景UI,且该背景UI为一张全屏不透明的RenderTexture,还用于调用图层管理模块来将所述背景UI的层级设置为最小UI层级;
所述控制模块,用于新显示UI,还用于调用所述图层管理模块来将新显示的UI置于顶层,以及调度所述初始化模块、图层管理模块、隐藏处理模块和渲染处理模块进行相应的工作;
所述图层管理模块用于对每层UI和游戏场景的参数数据进行设置和管理;
所述隐藏处理模块用于从所述图层管理模块获取所述顶层UI的透明状态,根据该透明状态对游戏场景和所有UI进行隐藏或显示处理,具体为:如果所述顶层UI全屏不透明,则隐藏游戏场景以及除了所述顶层UI之外的所有其它UI;否则,显示所述背景UI,隐藏游戏场景以及除了所述顶层UI和背景UI之外的所有其它UI;
所述渲染处理模块用于动态填充所述背景UI中的RenderTexture,还用于从所述隐藏处理模块和图层管理模块获取处理数据,根据该数据判断需渲染的内容并按层级顺序进行渲染。
所述每层UI和游戏场景的参数包括:可见状态、层级和透明状态,其中,所述可见状态包括显示状态和隐藏状态,所述透明状态包括全屏不透明状态和其它所有的非全屏不透明状态。
所述隐藏处理模块包括第一数据收发模块和第一数据处理模块,所述第一数据收发模块用于接收所有UI和游戏场景的参数数据,还用于将所述第一数据处理模块的处理结果数据发送至所述渲染处理模块,所述第一数据处理模块用于根据顶层UI的透明状态对游戏场景以及除了顶层UI之外的所有其它UI进行隐藏或显示处理。
所述第一数据处理模块用于根据顶层UI的透明状态对游戏场景以及除了顶层UI之外的所有其它UI进行隐藏或显示处理,具体为:如果所述顶层UI为全屏不透明,则隐藏游戏场景以及除了所述顶层UI之外的所有其它UI;否则,显示所述背景UI,隐藏游戏场景以及除了所述顶层UI和背景UI之外的所有其它UI。
所述隐藏通过设置指定元素为不可见状态实现,所述显示通过设置指定元素为可见状态实现。
所述渲染处理模块包括第二数据接收模块和第二数据处理模块,所述第二数据接收模块用于接收所述隐藏处理模块和所述图层管理模块的处理数据,所述第二数据处理模块用于动态填充所述背景UI中的RenderTexture,还用于从所述隐藏处理模块和图层管理模块获取处理数据,根据该数据判断需渲染的内容并按层级顺序进行渲染:如果隐藏游戏场景以及除了所述顶层UI之外的所有其它UI,则渲染所述顶层UI;如果隐藏游戏场景以及除了所述顶层UI和所述背景UI之外的所有其它UI,则先渲染所述背景UI,再渲染所述顶层UI。
所述动态填充所述背景UI中的RenderTexture,按照如下方法实施:截取当前屏幕内容并进行高斯模糊,得到模糊后的屏幕截图,将该屏幕截图渲染到预设的所述背景UI的RenderTexture中。
该渲染系统的工作原理、实施方法和技术效果具体可参见实施例一的描述,在此不再赘述。
通过采用本发明公开的上述技术方案,得到了如下有益的效果:本发明提供了一种减少UI遮蔽导致的Overdraw的渲染方法和系统,该方案中,先于系统初始化阶段预设一层背景UI,设置该背景UI层级最小,令该背景UI始终显示在所有UI的最底层,后续对于每一个新显示的UI均进行如下操作:将新显示的UI置于顶层,得到顶层UI,然后根据顶层UI的透明状态,隐藏游戏场景以及除了所述顶层UI之外的所有其它UI,只渲染顶层UI;或动态填充预设背景UI,并显示该UI,隐藏游戏场景以及除了所述顶层UI和所述背景UI之外的所有其它UI,按顺序先后渲染背景UI和顶层UI。从而在游戏场景和多重UI同时显示时,剔除了不必要的渲染,减少了overdraw,降低了GPU性能负担、能耗及发热;此外,该方法对美术设计方案不做限制,具有很好的普适性,和现有方案比,有更低的成本和更高的效率。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。

Claims (9)

1.一种减少UI遮蔽导致的Overdraw的渲染方法,其特征在于,包括如下步骤:
S1,预设一层背景UI,该背景UI为一张全屏不透明的RenderTexture,显示层级设为最小UI层级;
S2,将新显示的UI置于顶层,得到顶层UI;
S3,判断所述顶层UI是否全屏不透明,如果是,则隐藏游戏场景以及除了所述顶层UI之外的所有其它UI;否则,先动态填充S1中所述背景UI中的RenderTexture,然后显示该背景UI,最后隐藏游戏场景以及除了所述顶层UI和所述背景UI之外的所有其它UI;
S4,根据UI层级,按顺序渲染所有可见的UI,即对于S3中所述顶层UI为全屏不透明的情况,渲染所述顶层UI;对于S3中所述顶层UI不为全屏不透明的情况,先渲染所述背景UI,再渲染所述顶层UI。
2.根据权利要求1所述的减少UI遮蔽导致的Overdraw的渲染方法,其特征在于,S3中,所述隐藏通过设置指定元素为不可见状态实现,所述显示通过设置指定元素为可见状态实现。
3.根据权利要求1所述的减少UI遮蔽导致的Overdraw的渲染方法,其特征在于,S3中所述动态填充S1中所述背景UI中的RenderTexture,按照如下方法实施:截取当前屏幕内容并进行高斯模糊,得到模糊后的屏幕截图,将该屏幕截图渲染到S1中的所述背景UI的RenderTexture中。
4.一种减少UI遮蔽导致的Overdraw的渲染系统,其特征在于,包括初始化模块、控制模块、图层管理模块、隐藏处理模块和渲染处理模块;
所述初始化模块,用于预设一层背景UI,且该背景UI为一张全屏不透明的RenderTexture,还用于调用图层管理模块来将所述背景UI的层级设置为最小UI层级;
所述控制模块,用于新显示UI,还用于调用所述图层管理模块来将新显示的UI置于顶层,以及调度所述初始化模块、图层管理模块、隐藏处理模块和渲染处理模块进行相应的工作;
所述图层管理模块用于对每层UI和游戏场景的参数数据进行设置和管理;
所述隐藏处理模块用于从所述图层管理模块获取所述顶层UI的透明状态,根据该透明状态对游戏场景和所有UI进行隐藏或显示处理,具体为:如果所述顶层UI全屏不透明,则隐藏游戏场景以及除了所述顶层UI之外的所有其它UI;否则,显示所述背景UI,隐藏游戏场景以及除了所述顶层UI和背景UI之外的所有其它UI;
所述渲染处理模块用于动态填充所述背景UI中的RenderTexture,还用于从所述隐藏处理模块和图层管理模块获取处理数据,根据该数据判断需渲染的内容并按层级顺序进行渲染。
5.根据权利要求4所述的减少UI遮蔽导致的Overdraw的渲染系统,其特征在于,所述每层UI和游戏场景的参数包括:可见状态、层级和透明状态,其中,所述可见状态包括显示状态和隐藏状态,所述透明状态包括全屏不透明状态和其它所有的非全屏不透明状态。
6.根据权利要求4所述的减少UI遮蔽导致的Overdraw的渲染系统,其特征在于,所述隐藏处理模块包括第一数据收发模块和第一数据处理模块,所述第一数据收发模块用于接收所有UI和游戏场景的参数数据,还用于将所述第一数据处理模块的处理结果数据发送至所述渲染处理模块,所述第一数据处理模块用于根据顶层UI的透明状态对游戏场景以及除了顶层UI之外的所有其它UI进行隐藏或显示处理。
7.根据权利要求4所述的减少UI遮蔽导致的Overdraw的渲染系统,其特征在于,所述隐藏通过设置指定元素为不可见状态实现,所述显示通过设置指定元素为可见状态实现。
8.根据权利要求4所述的减少UI遮蔽导致的Overdraw的渲染系统,其特征在于,所述渲染处理模块包括第二数据接收模块和第二数据处理模块,所述第二数据接收模块用于接收所述隐藏处理模块和所述图层管理模块的处理数据,所述第二数据处理模块用于动态填充所述背景UI中的RenderTexture,还用于从所述隐藏处理模块和图层管理模块获取处理数据,根据该数据判断需渲染的内容并按层级顺序进行渲染:如果隐藏游戏场景以及除了所述顶层UI之外的所有其它UI,则渲染所述顶层UI;如果隐藏游戏场景以及除了所述顶层UI和所述背景UI之外的所有其它UI,则先渲染所述背景UI,再渲染所述顶层UI。
9.根据权利要求8所述的减少UI遮蔽导致的Overdraw的渲染系统,其特征在于,所述动态填充所述背景UI中的RenderTexture,按照如下方法实施:截取当前屏幕内容并进行高斯模糊,得到模糊后的屏幕截图,将该屏幕截图渲染到预设的所述背景UI的RenderTexture中。
CN201910538876.4A 2019-06-20 2019-06-20 减少UI遮蔽导致的Overdraw的渲染方法和系统 Active CN110286979B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910538876.4A CN110286979B (zh) 2019-06-20 2019-06-20 减少UI遮蔽导致的Overdraw的渲染方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910538876.4A CN110286979B (zh) 2019-06-20 2019-06-20 减少UI遮蔽导致的Overdraw的渲染方法和系统

Publications (2)

Publication Number Publication Date
CN110286979A true CN110286979A (zh) 2019-09-27
CN110286979B CN110286979B (zh) 2022-04-26

Family

ID=68005336

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910538876.4A Active CN110286979B (zh) 2019-06-20 2019-06-20 减少UI遮蔽导致的Overdraw的渲染方法和系统

Country Status (1)

Country Link
CN (1) CN110286979B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113205583A (zh) * 2021-04-28 2021-08-03 北京字跳网络技术有限公司 场景渲染方法、装置、电子设备及可读存储介质
CN113393555A (zh) * 2020-03-11 2021-09-14 福建天晴数码有限公司 一种基于着色器的屏幕填充率统计方法及其系统
CN113791857A (zh) * 2021-09-03 2021-12-14 北京鲸鲮信息系统技术有限公司 Linux系统中应用窗口背景模糊处理方法及装置
WO2023280241A1 (zh) * 2021-07-09 2023-01-12 花瓣云科技有限公司 图像画面渲染方法及电子设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101923468A (zh) * 2010-08-13 2010-12-22 中兴通讯股份有限公司 一种重绘微件的方法及装置
CN103870558A (zh) * 2012-03-29 2014-06-18 北京奇虎科技有限公司 页面渲染方法和遮罩层创建方法
CN107436765A (zh) * 2017-07-27 2017-12-05 青岛海信电器股份有限公司 视图控件的处理方法和装置
CN108176048A (zh) * 2017-11-30 2018-06-19 腾讯科技(深圳)有限公司 图像的处理方法和装置、存储介质、电子装置
CN108389151A (zh) * 2018-01-08 2018-08-10 珠海金山网络游戏科技有限公司 一种过度绘制的评估方法和系统
US10074210B1 (en) * 2017-07-25 2018-09-11 Apple Inc. Punch-through techniques for graphics processing
US20190122431A1 (en) * 2009-05-18 2019-04-25 Imagination Technologies Limited Rendering a Computer Generated Image Using a Stencil Buffer with Vertex Index Offset

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190122431A1 (en) * 2009-05-18 2019-04-25 Imagination Technologies Limited Rendering a Computer Generated Image Using a Stencil Buffer with Vertex Index Offset
CN101923468A (zh) * 2010-08-13 2010-12-22 中兴通讯股份有限公司 一种重绘微件的方法及装置
CN103870558A (zh) * 2012-03-29 2014-06-18 北京奇虎科技有限公司 页面渲染方法和遮罩层创建方法
US10074210B1 (en) * 2017-07-25 2018-09-11 Apple Inc. Punch-through techniques for graphics processing
CN107436765A (zh) * 2017-07-27 2017-12-05 青岛海信电器股份有限公司 视图控件的处理方法和装置
CN108176048A (zh) * 2017-11-30 2018-06-19 腾讯科技(深圳)有限公司 图像的处理方法和装置、存储介质、电子装置
CN108389151A (zh) * 2018-01-08 2018-08-10 珠海金山网络游戏科技有限公司 一种过度绘制的评估方法和系统

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
GREG NICHOLS.ETC: ""Interactive Indirect Illumination Using Adaptive Multiresolution Splatting"", 《IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS ( VOLUME: 16, ISSUE: 5, SEPT.-OCT. 2010)》 *
QY6KWYEC: ""Android 性能优化之如何避免Overdraw"", 《HTTPS://BLOG.CSDN.NET/QY6KWYEC/ARTICLE/DETAILS/55224453?UTM_MEDIUM=DISTRIBUTE.PC_RELEVANT.NONE-TASK-BLOG-2~DEFAULT~BAIDUJS_TITLE~DEFAULT-0.NO_SEARCH_LINK&SPM=1001.2101.3001.4242.1》 *
TRYENOUGH: ""Android-渲染性能优化overdraw"", 《HTTPS://WWW.JIANSHU.COM/P/1EF8CD3319CF?UTM_SOURCE=OSCHINA-APP》 *
微型的小猫钓鱼: ""安卓渲染优化之减少OverDraw"", 《HTTPS://WWW.JIANSHU.COM/P/9042982D006A》 *
谭帅: ""基于Android平台书法软件的设计与实现"", 《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113393555A (zh) * 2020-03-11 2021-09-14 福建天晴数码有限公司 一种基于着色器的屏幕填充率统计方法及其系统
CN113393555B (zh) * 2020-03-11 2023-09-15 福建天晴数码有限公司 一种基于着色器的屏幕填充率统计方法及其系统
CN113205583A (zh) * 2021-04-28 2021-08-03 北京字跳网络技术有限公司 场景渲染方法、装置、电子设备及可读存储介质
WO2023280241A1 (zh) * 2021-07-09 2023-01-12 花瓣云科技有限公司 图像画面渲染方法及电子设备
CN113791857A (zh) * 2021-09-03 2021-12-14 北京鲸鲮信息系统技术有限公司 Linux系统中应用窗口背景模糊处理方法及装置
CN113791857B (zh) * 2021-09-03 2024-04-30 北京字节跳动网络技术有限公司 Linux系统中应用窗口背景模糊处理方法及装置

Also Published As

Publication number Publication date
CN110286979B (zh) 2022-04-26

Similar Documents

Publication Publication Date Title
CN110286979A (zh) 减少UI遮蔽导致的Overdraw的渲染方法和系统
US11074725B2 (en) Rendering semi-transparent user interface elements
US8019182B1 (en) Digital image modification using pyramid vignettes
US8208722B1 (en) Image shader for digital image modification
CN108876931A (zh) 三维物体颜色调整方法、装置、计算机设备及计算机可读存储介质
CN112099683A (zh) 壁纸显示方法、装置和电子设备
CN106846454A (zh) 镜头光晕绘制方法及装置
CN110471731B (zh) 显示界面绘制方法、装置、电子设备及计算机可读介质
Bruckner et al. Hybrid visibility compositing and masking for illustrative rendering
AU2006287351A1 (en) 2D editing metaphor for 3D graphics
CN106339983A (zh) 一种利用高斯模糊实现模糊动画的方法及装置
CN105844581B (zh) 一种图像绘制方法、装置及设备
CN106997608A (zh) 一种生成光晕效果图的方法及装置
US10484523B2 (en) Mobile communication terminal and method therefore
CN111161685B (zh) 一种虚拟现实显示设备及其控制方法
CN113052923A (zh) 色调映射方法、装置、电子设备和存储介质
CN111383320A (zh) 虚拟模型处理方法、装置、设备及存储介质
CN112541955B (zh) 图像处理方法、装置及设备
CN107424136B (zh) 一种Mac下图片高斯模糊的处理方法
Kim et al. Selective foveated ray tracing for head-mounted displays
CN105892663A (zh) 一种信息处理方法及电子设备
CN106528161A (zh) 终端设备、页面显示处理装置及方法
WO2015052514A2 (en) Rendering composites/layers for video animations
CN110874816B (zh) 一种图像处理方法、装置、移动终端及存储介质
CN114565686A (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