CN110209444B - 一种图形渲染方法和电子设备 - Google Patents

一种图形渲染方法和电子设备 Download PDF

Info

Publication number
CN110209444B
CN110209444B CN201910212372.3A CN201910212372A CN110209444B CN 110209444 B CN110209444 B CN 110209444B CN 201910212372 A CN201910212372 A CN 201910212372A CN 110209444 B CN110209444 B CN 110209444B
Authority
CN
China
Prior art keywords
drawing element
rendering
transparent
electronic device
depth value
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.)
Active
Application number
CN201910212372.3A
Other languages
English (en)
Other versions
CN110209444A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201910212372.3A priority Critical patent/CN110209444B/zh
Publication of CN110209444A publication Critical patent/CN110209444A/zh
Application granted granted Critical
Publication of CN110209444B publication Critical patent/CN110209444B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/001Texturing; Colouring; Generation of texture or colour

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • User Interface Of Digital Computer (AREA)
  • Image Generation (AREA)

Abstract

一种图形渲染方法和电子设备。该方法包括:所述电子设备在显示第一图形时,检测到第一操作;响应于所述第一操作,生成图形绘制指令;所述图形绘制指令包括目标图形上每个绘制元素的属性信息;根据每个绘制元素的属性信息和绘制元素之间的图层关系,确定每个绘制元素上的第一区域和第二区域,其中,第一区域是所述每个绘制元素上未被上层的绘制元素遮挡住的区域,所述第二区域是被上层的绘制元素遮挡住的区域;渲染所述第一区域;将渲染后的绘制元素合成所述目标图形;显示所述目标图形。这种方式中,可以仅渲染该绘制元素上未被上层遮挡的区域,无需渲染被上层遮挡住的区域,有助于提升图形渲染效率。

Description

一种图形渲染方法和电子设备
技术领域
本申请涉及终端技术领域,尤其涉及一种图形渲染方法和电子设备。
背景技术
目前,电子设备都设置有显示屏,显示屏上可以显示各种图形用户界面(graphical user interface,GUI)。请参见图1(a)所示,为一GUI的示例图。现有的图形渲染过程为:
电子设备要绘制图1(a)所示的GUI时,可以对GUI一层一层的绘制,然后将绘制好的层合成GUI。请参见图1(b)所示,GUI可以包括3层,电子设备可以先绘制背景层、然后绘制中间层、然后绘制按钮层,即电子设备是从后(远离用户眼睛的层)到前(靠近用户眼睛的层)按顺序进行绘制的。
但是,从图1(b)可知,靠后的层绘制完成之后,会被靠前的层遮挡,实际上被遮挡的部分用户是看不到的,可见,现有的图形渲染方式存在无用的渲染过程,效率较低。
发明内容
本申请实施例提供一种图形渲染方法和电子设备,有助于提高电子设备的图形渲染效率。
第一方面,本申请实施例提供一种图形渲染方法,该方法可由具有显示屏的电子设备(比如,手机、pad、笔记本电脑等)执行。该方法包括:所述电子设备在显示第一图形时,检测到第一操作;响应于所述第一操作,生成图形绘制指令;所述图形绘制指令包括目标图形上每个绘制元素的属性信息;根据每个绘制元素的属性信息和绘制元素之间的图层关系,确定每个绘制元素上的第一区域和第二区域,其中,第一区域是所述每个绘制元素上未被上层的绘制元素遮挡住的区域,所述第二区域是被上层的绘制元素遮挡住的区域;渲染所述第一区域;将渲染后的绘制元素合成所述目标图形;显示所述目标图形。
应理解,电子设备渲染目标图像时可以渲染目标图形上的每个绘制元素,然后将渲染后的绘制元素合成目标图形,对每个绘制元素,可以仅渲染该绘制元素上未被上层遮挡的区域,无需渲染被上层遮挡住的区域,有助于提升图形渲染效率。
在一种可能的设计中,所述属性信息用于指示每个绘制元素的透明度信息;在根据每个绘制元素的属性信息和绘制元素之间的图层关系,确定每个绘制元素上的第一区域和第二区域之前,所述电子设备根据所述透明度信息从所有绘制元素确定非透明绘制元素;根据每个绘制元素的属性信息和绘制元素之间的图层关系,确定每个绘制元素上的第一区域和第二区域,包括:根据每个绘制元素的属性信息和绘制元素之间的图层关系,确定每个非透明绘制元素上的第一区域和第二区域。
应理解,电子设备可以根据每个绘制元素的属性信息确定绘制元素是透明的还是非透明的,然后对非透明绘制元素上未被上层遮挡的区域进行渲染,无需渲染被上层遮挡住的区域,有助于提升图形渲染效率。
在一种可能的设计中,渲染所述第一区域,包括:按照第一顺序依次渲染所述每个非透明绘制元素上的第一区域;其中,所述第一顺序用于指示所述每个非透明绘制元素到用户之间的距离由近到远的顺序。
应理解,电子设备渲染非透明绘制元素时,可以先渲染距离用户较近的绘制元素,然后渲染距离用户较远的绘制元素,而且在渲染非透明元素的过程中,可以仅渲染非透明元素上未被上层遮挡的区域,无需渲染被上层遮挡的区域,有助于提升图形渲染效率。
在一种可能的设计中,电子设备还根据所述透明度信息从所有绘制元素确定透明绘制元素;按照第二顺序依次渲染每个透明绘制元素;其中,所述第二顺序用于指示所述每个透明绘制元素到用户之间的距离由远到近的顺序。
应理解,由于透明绘制元素无法遮挡后层的绘制元素,所以电子设备还可以按照距离用户由远到近的距离渲染透明绘制元素。
在一种可能的设计中,在按照第一顺序依次渲染每个绘制元素上的第一区域之前,所述电子设备还为每个非透明绘制元素设置深度值信息,所述深度值信息用于指示所述非透明绘制元素与基准层之间的距离,所述基准层为距离用户最远的绘制元素;按照第一顺序依次渲染每个非透明绘制元素上的第一区域,包括:按照深度值信息从大到小的顺序,依次渲染每个非透明绘制元素上的第一区域。
应理解,电子设备可以为每个非透明元素设置深度值信息,所以电子设备渲染非透明元素时,根据深度值信息从大到小的顺序进行渲染,而且在渲染非透明元素的过程中,可以仅渲染非透明元素上未被上层遮挡的区域,无需渲染被上层遮挡的区域,有助于提升图形渲染效率。
在一种可能的设计中,在按照第二顺序依次渲染每个透明绘制元素之前,所述电子设备还为每个透明绘制元素设置深度值信息,所述深度值信息用于指示所述每个透明绘制元素与基准层之间的距离,所述基准层为距离用户最远的绘制元素;按照第二顺序依次渲染每个透明绘制元素,包括:按照深度值信息从小到大的顺序,依次渲染每个透明绘制元素。
应理解,电子设备为每个透明元素设置深度值信息,由于透明绘制元素无法遮挡后层的绘制元素,所以电子设备渲染透明元素时,可以按照深度值信息从小到大的顺序,进行渲染。
在一种可能的设计中,所述属性信息包括绘制元素的显示位置、尺寸、形状、显示内容中的一种或多种。
应理解,上述仅是列举几种可能的属性信息的示例,本申请实施例对比不作限定。
第二方面,本申请实施例还提供一种电子设备,所述电子设备,包括显示屏,存储器,一个或多个处理器,多个应用程序,以及一个或多个程序;其中所述一个或多个程序被存储在所述存储器中;所述一个或多个处理器在执行所述一个或多个程序时,使得所述电子设备实现如上述第一方面提供的图形渲染方法。
第三方面,本申请实施例还提供一种电子设备,该电子设备中包括能够实现上述第一方面的可能实现方式中电子设备行为的功能模块;这些功能模块可以通过硬件实现,也可以通过硬件执行相应的软件实现。
第四方面,本申请实施例还提供一种计算机存储介质,包括计算机指令,当所述计算机指令在电子设备上运行时,使得所述电子设备执行上述第一方面提供的图形渲染方法。
第五方面,本申请实施例还提供一种程序产品,当所述程序产品在计算机上运行时,使得所述计算机执行上述第一方面提供的图形渲染方法。
附图说明
图1为本申请实施例提供的一用户图形界面的示意图;
图2为本申请实施例提供的一种图形绘制指令的示意图;
图3为本申请实施例提供的一种view树的示意图;
图4为本申请实施例提供的手机100的硬件结构示意图;
图5为本申请实施例提供的图形渲染方法的流程示意图;
图6为本申请实施例提供的手机100的用户图形界面的示意图;
图7为本申请实施例提供的绘制元素组的示意图;
图8为本申请实施例提供的手机100的软件架构的示意图;
图9为本申请实施例提供的图形渲染方法的流程示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
以下,对本申请实施例中的部分用语进行解释说明,以便于本领域技术人员理解。
本申请实施例涉及的图形,是电子设备的显示屏上显示的GUI,包括主界面(也可称为桌面,比如图1所示的界面),负一屏显示界面、各个应用程序(application,app)的显示界面。本申请实施例涉及的应用程序,为能够实现某项或多项特定功能的计算机程序。通常,电子设备中可以安装多个应用程序。比如,相机应用、短信应用、彩信应用、各种邮箱应用、微信(WeChat)、腾讯聊天软件(QQ)、WhatsApp Messenger、连我(Line)、照片分享(instagram)、Kakao Talk、钉钉等。下文中提到的应用程序,可以是电子设备出厂时自带的应用程序,也可以是用户在使用电子设备的过程中从网络侧下载的应用程序,本申请实施例不限定。
本申请实施例涉及的图形绘制指令,即应用程序产生的绘制图形的指令,电子设备可以按照该指令进行图形渲染。不同的应用程序产生的图形绘制指令不同,比如微信应用和支付宝应用产生的图形绘制指令不同,而且同一个应用程序产生的图形绘制指令也可以不同,比如微信应用的朋友圈和微信应用中一个联系人的聊天界面不同。通常,图形绘制指令中包括要绘制的GUI上所包括的每个绘制元素,以及每个绘制元素的属性信息,比如,属性信息包括每个绘制元素的显示位置、尺寸、形状、显示内容等。请参见图2所示,为本申请实施例提供的一个GUI的图形绘制指令,该图形绘制指令以表格的形式呈现,比如图形绘制指令包括绘制元素1、绘制元素2以及每个绘制元素的属性信息。图2中以每个绘制元素包括透明度信息、位置、尺寸、形状、显示内容为例,在实际应用中,每个绘制元素的属性信息还可以包括其它内容,比如颜色等信息。
需要说明的是,应用程序产生的图形绘制指令还可以以表格之外的其它形式呈现,比如与图1(a)所示的显示界面相同的图片,总之,图形绘制指令能够指明应用程序要绘制什么样的图形即可,本申请实施例不作限定。
本申请实施例涉及的视图(view),一个view对应一个绘制元素;电子设备通常通过构建view树来区分不同绘制元素之间的图层关系。请参见图3,为图1(b)所示的GUI对应的view树,view树中每个节点代表一个view,一个view可以对应一个绘制元素。如图3所示,view树包括根节点viewroot,对应图1(b)中的背景层;view1对应图1(b)中的中间层;view2-view5分别对应按钮层中的4个按钮。
电子设备在渲染过程中,可以按照view树的各个节点依次来绘制,比如,电子设备先绘制viewroot,再绘制view1,然后绘制view2-view5。当绘制完每个节点的图形之后,将各个节点的图形合成一个GUI。
本申请实施例涉及的图层关系,可以按照与用户距离的远近进行划分,请参见图1(b)所示,背景层距离用户最远,按钮层距离用户最近,背景层是第一层,中间层是第二层,按钮层是第三层。对应图3所示,背景层是viewroot,即第一层,中间层是view1,即第二层,按钮层是view2-view5,即第三层。
本申请实施例涉及的多个,是指大于或等于两个。
需要说明的是,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,如无特殊说明,一般表示前后关联对象是一种“或”的关系。且在本发明实施例的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。
以下介绍电子设备、用于这样的电子设备的图形用户界面(graphical userinterface,GUI)、和用于使用这样的电子设备的实施例。在本申请一些实施例中,电子设备可以是便携式终端,诸如手机、平板电脑、具备无线通讯功能的可穿戴设备(如智能手表)等。该便携式终端包含能够进行图形渲染的器件比如中央处理器(central processingunit,CPU)、图形处理器(graphics processing unit,GPU)等。便携式终端的示例性实施例包括但不限于搭载
Figure GDA0002153511970000041
Figure GDA0002153511970000042
或者其它操作系统的便携式终端。上述便携式终端也可以是其它便携式终端,只要能够进行图形渲染即可。还应当理解的是,在本申请其他一些实施例中,上述电子设备也可以不是便携式终端,而是能够进行图形渲染过程的台式计算机。
在本申请另一些实施例中,电子设备本身也可以不具备图形渲染能力,而是具有通信能力,比如具有能够通信的器件(天线、无线通信模块、移动通信模块等)。电子设备将绘制图形的需求发送给其它设备,其它设备采用本申请实施例提供的图形渲染方法绘制图形,然后将绘制好的图形发送给电子设备,电子设备显示该图形即可。
以电子设备是手机为例,图4示出了手机100的结构示意图。
手机100可以包括处理器110,外部存储器接口120,内部存储器121,天线1,天线2,移动通信模块151,无线通信模块152,传感器模块180,按键190,显示屏194,以及定位模块160等。其中传感器模块180可以包括触摸传感器180K等(手机100还可包括其他传感器比如距离传感器、指纹传感器、温度传感器、环境光传感器、陀螺仪传感器等,图中未示出)。
可以理解的是,本申请实施例示意的结构并不构成对手机100的具体限定。在本申请另一些实施例中,手机100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
下面对图4示出的手机100中的部件进行介绍。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processingunit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。其中,控制器可以是手机100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
处理器110可以用于运行本申请实施例提供的图形渲染方法的代码,实现图形渲染过程,具体过程将在后文介绍。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行手机100的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统、应用程序(比如微信应用,相机应用等)的软件代码。存储数据区可存储手机100使用过程中所创建的个人数据(比如相机应用拍摄的图片、视频等)。
内部存储器121还可以存储用于执行图形渲染方法的软件代码。当处理器110运行该代码时,实现图形渲染过程的功能。内部存储器121还可以用于存储纹理(即图片)。
其中,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
定位模块160用于定位手机100当前的地理位置。定位模块160所采用的定位方法可以是GPS、基站,WiFi热点,蓝牙(iBacon),辅助GPS(assisted GPS,AGPS)等一种或多种方法定位。
外部存储器接口120,用于将外部存储器和手机100连接,其中,外部存储器包括外置存储卡(SD存储卡)和NAS存储设备等,本申请实施例不限定。为了节省内部存储器121的存储空间,手机100也可以将用于执行图形渲染方法的软件代码、纹理(即图片)等存储在外部存储器中。处理器110可以通过外部存储器接口120访问存储在外部存储器中的数据。
下面介绍传感器模块180的功能。
触摸传感器180K,也称“触控面板”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于手机100的表面,与显示屏194所处的位置不同。
以手机100的触摸屏显示主界面为例,主界面中包括多个应用的图标,比如相机应用、设置应用、微信应用、QQ应用等。触摸传感器180K可以检测用户在触摸屏上的触摸操作,并将该触摸操作发送给处理器110,处理器110基于该触摸操作,可以确定该触摸操作对应的图标,即确定出用户要点击的应用。假设处理器110基于触摸操作确定用户点击微信应用,则处理器110采用本申请实施例提供的图形渲染方法绘制微信的应用界面,手机100显示绘制好的微信的应用界面。
类似的,手机100还可以通过按键190接收输入操作,并将输入操作发送给处理器110,处理器110确定输入操作对应的图标,比如微信应用。处理器110采用本申请实施例提供的图形渲染方法绘制微信的应用界面,手机100显示绘制好的微信的应用界面。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,手机100可以包括1个或N个显示屏194,N为大于1的正整数。
显示屏194用于显示主界面,或者某个应用的显示界面等。
手机100的无线通信功能可以通过天线1,天线2,移动通信模块151,无线通信模块152,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。手机100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块151可以提供应用在手机100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块151可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(lownoiseamplifier,LNA)等。移动通信模块151可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块151还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块151的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块151的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A,受话器170B等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块151或其他功能模块设置在同一个器件中。
无线通信模块152可以提供应用在手机100上的包括无线局域网(wireless localarea networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequencymodulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块152可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块152经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块152还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
若手机100不具备图形渲染能力或者电子设备当前的业务压力较大(比如,后台运行的应用程序较多,当前剩余电量较少等),手机100可以通过无线通信模块152或移动通信模块151将图形绘制指令发送给其它设备,由其它设备采用本申请实施例提供的图形渲染方法绘制图形。手机100可以通过无线通信模块152或移动通信模块151接收其它设备发送的绘制好的图形,电子设备显示该图形。
尽管图4未示出,手机100还可以包括摄像头、马达,用于产生振动提示(比如来电振动提示);还可以包括指示器比如指示灯,用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。另外,手机100还可以包括音频模块(扬声器,受话器,麦克风,耳机接口)等,本申请实施例不多赘述。
下面介绍手机100渲染图形的过程。请参见图5所示,为本申请实施例提供的图形渲染方法的流程示意图。如图5所示,该方法的流程包括:
S501:手机100在显示第一图形时,检测到第一操作。
示例性的,请参见图6(a)所示,第一图形可以是手机100的显示屏上显示的主界面601,主界面601中包括多个应用程序的图标,比如短信应用的图标、微信应用的图标、电话应用的图标、相机应用的图标等等。第一操作可以用户点击主界面601上的某个图标比如微信应用的图标602的操作。当然,第一图形还是可以其它界面,比如某个应用的显示界面,本申请实施例不作限定。
S502:手机100响应于所述第一操作,生成图形绘制指令,所述图形绘制指令中包括目标图形上每个绘制元素的属性信息;所述属性信息用于指示每个绘制元素的位置、形状、显示内容、透明度等。
示例性的,继续以图6(a)为例,假设第一操作是触发点击微信应用的图标602的操作,则产生的图形绘制指令用于绘制微信应用的显示界面(即目标图形),如图6(b)所示。其中,图形绘制指令可以类似于图2所示的图形绘制指令。
S503:手机100根据每个绘制元素的属性信息,确定每个绘制元素是透明的还是非透明的。
示例性的,每个绘制元素的透明度信息可以以一定的标识来表示。以图2为例,1表示透明、0表示非透明;当然,透明或者非透明还可以用其它标识来表示,本申请实施例不作限定。
举例来说,若手机100使用的图形绘制系统是openGL ES,则图形绘制指令为手机100生成的GLES命令,其中,GLES命令中的Blend属性用于指示透明度。如果一个绘制元素的是非透明的,其blend属性的alpha应该是0,如果一个绘制元素是透明的,其blend属性的alpha是1。若手机100使用的图形绘制系统是libSkia,手机100可以根据绘制元素的元素模式进行判断,如果一个绘制元素的元素模式(skblendmode)是kSrc,则该元素是非透明的,否则是透明的。
S504:手机100将所有绘制元素中位于同一层的、且属性信息相同或者相似的绘制元素进行合并成绘制元素组,一个绘制元素组中每个绘制元素的透明度相同。
示例性的,手机100对所有绘制元素进行分组的过程可以是如下:
第一步,手机100可以基于所有绘制元素构建view树,以图1(b)为例,包括6个绘制元素,手机100基于这6个绘制元素可以构建view树,view树中一个view对应一个绘制元素,请参见图3所示。
第二步,基于view树确定哪些绘制元素位于同一层。
因此,手机100通过view树可以确定哪些绘制元素位于同一层,比如view2-view5位于同一层。
第三步,在同一层中确定属性信息相同或相似的绘制元素,为一个绘制元素组,一个绘制元素组中透明度相同。
应理解,属性信息相同可以包括:形状、尺寸、显示内容、透明度相同。属性信息相似可以包括,形状、尺寸、透明度相同,仅显示内容不同;或者尺寸、透明度、显示内容相同,仅形状不同等。但是,一个绘制元素组中所有绘制元素的透明度相同。
示例性的,请参见图1(b)所示,手机100可以将第一层即按钮层的4个按钮对应的4个绘制元素合并,得到一个绘制元素组。
S505:手机100将所有的绘制元素组划分为M个非透明绘制元素组和N个透明绘制元素组,M、N是大于等于1的整数。
在S504中可知,一个绘制元素组中所有绘制元素的透明度相同,手机100可以根据绘制元素组的透明度对绘制元素组进行划分,划分为非透明的绘制元素组和透明的绘制元素组。
示例性的,请参见图7所示,第一层(距离用户最远的一层)是非透明绘制元素组、第二层是透明元素组,第三层是透明元素组,第四层(距离用户最近的一层)中的四个按钮是非透明元素组。对于非透明的绘制元素组和透明的绘制元素组采用不同的策略,下文介绍。
S506:手机100为每个绘制元素组设置深度值信息,所述深度值信息用于指示不同绘制元素组之间的图层关系。
示例性的,请继续参见图7所示,手机100可以为第一层的深度值信息设置为1,将第二层的深度值信息设置为2,将第三层的深度值信息设置为3,将第四层的深度值信息设置为4。
S507:手机100基于每个绘制元素组生成一条渲染命令,所述一条渲染命令用于指示对所述每个绘制元素组进行绘制的属性信息,所述渲染指令中包括所述每个绘制元素组的深度值信息。
需要说明的是,通常,图形渲染过程是由GPU执行的,所以手机100需要将命令转换成GPU能够识别的语言。因此,手机100生成渲染命令,GPU可以基于该渲染命令进行渲染。
在本申请实施例中,渲染命令中包括深度值信息,GPU接收到渲染命令之后,可以开启深度值检测功能。换言之,在GPU接收到渲染命令之前,可以关闭深度值检测功能。
在另一些实施例中,渲染命令中可能不包含深度值信息,比如只有一个绘制元素,即只有一层,那么不存在下层被上层遮挡的问题,这种情况下,生成的渲染命令中可以不包括深度值信息,GPU接收到不包含深度值信息的渲染命令之后,也可以不开启深度值检测功能。
GPU启动深度值检测功能的后,可以根据深度值信息进行渲染,具体的内容将在后文介绍。
需要说明的是,现有技术中每个绘制元素对应一个渲染命令,继续以图7为例,手机100需要生成7条渲染指令,然后基于一条渲染命令绘制完一个绘制元素之后,再基于另一个渲染指令绘制另一个绘制元素,可见,现有的绘制方式,指令开销大、效率较低。但是,在本申请实施例中,手机100基于一条渲染指令可以绘制一组绘制元素,即一条渲染指令可以绘制多个绘制元素,继续以图7为例,手机100可以生成4条渲染指令即可,有助于节省指令开销,提升效率。
S508:对于M个非透明绘制元素组,先绘制渲染指令中深度信息较大的绘制元素组,然后绘制渲染指令中深度信息较小的绘制元素组,即从前往后进行绘制,M为大于等于2的整数。
应理解,前面介绍GPU启动深度值检测功能,所以GPU可以检测每个绘制元素的深度值信息,进而根据深度值信息进行渲染。比如,对于非透明的绘制元素组,手机100可以采用从前往后的顺序进行绘制;其中,从前往后的顺序可以是根据检测到的深度值信息从大到小的顺序。对于透明的绘制元素组,手机100可以采用从后往前的顺序进行绘制;其中,从后往前的顺序可以是根据检测到的深度值从小到大的顺序。
示例性的,请参见图7所示,M个非透明元素组包括第一层和第四层的绘制元素组,第一层的深度信息是1,第四层的深度值信息是4,手机100对M个非透明绘制元素组进行绘制时,可以先绘制深度信息是4的绘制元素组,然后绘制深度信息为1的绘制元素组,即从前往后绘制。
在非透明的绘制元素从前往后的绘制过程中,手机100可以判断非透明的绘制元素组是否被前面的其他绘制元素遮挡,如果全部被遮挡,则放弃绘制该绘制元素组;若部分被遮挡,可以仅绘制未被遮挡住的区域,有助于节省渲染工作量。
举例来说,请参见图7所示,手机100先绘制第四层的4个绘制元素,然后,在绘制第一层的非透明绘制元素之前,可以判断第一层的非透明绘制元素上被第四层的4个绘制元素遮挡的部分,则仅绘制未被遮挡的部分即可,无需绘制遮挡住的部分。由于第二层和第三层是透明的,所以无需关注第二层和第三层对第一层的遮挡。
手机100可以基于第四层上的绘制元素的显示位置和尺寸(属性信息中包括显示位置和尺寸),确定第一层上被第四层上的绘制元素遮挡住的部分。
S509:对于N个透明的绘制元素组,先绘制渲染指令中深度信息较小的绘制元素组,再绘制渲染指令中深度值信息较大的绘制元素组;即从后往前绘制,N为大于等于2的整数。
示例性的,请参见图7所示,N个透明元素组包括第二层和第三层的绘制元素组,第二层的深度信息是2,第三层的深度值信息是3,手机100对N个透明绘制元素组进行绘制时,可以先绘制深度信息是2的绘制元素组,然后绘制深度信息为3的绘制元素组,即从后往前绘制。
举例来说,请参见图7所示,手机100先绘制第二层的绘制元素,由于第二层的绘制元素是透明的,无法遮挡第一层,然后绘制第三层的绘制元素,也无法遮挡第一层,所以对透明绘制元素的绘制可以绘制全部区域。
示例性的,手机100可以先绘制非透明的绘制元素组,然后绘制透明的绘制元素组。
S510:将绘制完的绘制元素合成所述目标图形。
示例性的,以图7为例,手机100对每层的绘制元素组绘制完毕之后,可以将绘制完毕的绘制元素组合成目标图像。具体而言,手机100可以按照图层关系将每个绘制元素组依次融合。
S511:显示所述目标图形。
示例性的,目标图形可以是图6(b)所示的界面603。
下面介绍手机100的软件架构。请参见图8所示,为本申请实施例提供的手机100的软件架构的示意图。如图8所示,手机100的软件架构分为四层;分别为应用层,框架层、系统层、内核层。
内核层,包括触摸传感器驱动、显示驱动。其中,触摸传感器用于检测用户的输入事件,当检测到输入事件时,将输入事件上报给上层即系统层的输入事件分发系统。显示驱动用于驱动显示屏显示GUI。
系统层,包括输入事件分发系统,渲染执行模块、渲染命令生成模块。其中,输入事件分发系统用于接收下层即内核层上报的输入事件,然后将输入事件分发给上层;渲染命令生成模块用于生成渲染命令;渲染执行模块,用于根据生成的渲染命令进行渲染。
框架层,包括窗口管理服务(window manager server,WMS)、判断模块、组织排序模块。其中,WMS用于接收下层即系统层发送的输入事件,并将输入事件分发给相应的应用。判断模块,用于根据应用层下发的图形绘制指令判断哪些绘制元素是透明的还是非透明的;组织排序模块,用于对绘制元素进行合并,得到绘制元素组,并划分为M个非透明元素组和N个透明元素组,并为每个绘制元素组设置深度值信息。
应用层包括多个应用程序。比如,相机应用、微信应用等。当应用层中的一个应用接收到输入事件后,该应用可以生成图形绘制指令,并将图形绘制指令下发给下层即框架层。
应理解,图3为手机100的硬件架构,图7为手机100的软件架构。图7中的软件架构对应的软件程序和/或模块存储在内部存储器121中,处理器110运行内部存储器121中存储的软件程序和应用以执行如下过程:
(1)、触摸传感器驱动将检测到的输入事件(比如图6(a)所示的主界面中的点击微信应用的第一操作)发送给系统层中的输入事件分发系统。输入事件系统将输入事件发送框架层中的WMS。WMS中可以存储有当前显示界面(即图6(a)所示的主界面)中每个触摸区域的坐标,所以WMS可以将输入事件中第一操作的位置坐标和存储的触摸区域的坐标比对,确定输入事件对应的触摸区域,即微信应用的图标,则WMS可以将输入事件以及输入事件对应的触摸区域上报应用层中的微信应用。
(2)、微信应用响应于该输入事件,生成图形绘制指令,图形绘制指令中包括每个绘制元素的属性信息,属性信息包括每个绘制元素的形状、透明度、显示内容等。微信应用将图形绘制指令发送给判断模块。即微信应用告知判断模块要绘制什么样的GUI。
判断模块基于图形绘制指令中包括的属性信息判断哪些绘制元素是透明的哪些是非透明的。判断模块将判断结果发送给组织排序模块。组织排序模块对绘制元素进行合并,得到绘制元素组,并将绘制元素组分为透明绘制元素组和非透明元素组,并为每个绘制元素组设置深度值信息。组织排序模块将排序结果发送给渲染命令模块。
(3)、渲染命令生成模块基于每个绘制元素组生成一条渲染命令,所述一条渲染命令用于指示对所述每个绘制元素进行绘制,所述一条渲染命令中包括透明度信息和深度值信息。渲染命令生成模块将生成的渲染命令发送给渲染执行模块。
(4)、渲染执行模块基于渲染指令进行渲染。具体而言,对于非透明元素组和透明元素组采用不同的策略。比如,对于M个非透明绘制元素组,从前往后进行绘制,即先绘制渲染指令中深度信息较大的绘制元素组,然后绘制渲染指令中深度信息较小的绘制元素组;M为大于等于2的整数。再比如,对于N个透明的绘制元素组,从后往前绘制,即先绘制渲染指令中深度信息较小的绘制元素组,再绘制渲染指令中深度值信息较大的绘制元素组;N为大于等于2的整数。
(5)、渲染执行模块渲染完每个绘制元素组后,将绘制元素组发送给合成模块,合成模块,可以将渲染后的绘制元素组合成一个GUI下发显示驱动,以驱动显示屏194显示该GUI。
需要说明的是,当图4中的处理器110集成有多个处理器时,上述4个过程可以全部由同一处理器执行,也可以由不同的处理器执行。举例来说,处理器110集成CPU和GPU。上述的过程(1)-过程(3)可以由CPU执行,而过程(4)-过程(5)可以在GPU上执行。即对渲染过程由GPU执行,具体而言,CPU执行完过程(3)时,可以向GPU发送指令,该指令用于指示GPU执行过程(4)-过程(5)。
在本申请实施例中,手机100可以将多个绘制元素通过同一个渲染指令进行渲染,节省指令开销,而且对于透明的绘制元素组和非透明的元素组采用不同的策略,其中,对于非透明的绘制元素组,当一个绘制元素被前面的绘制元素遮挡时,可以无需渲染被遮挡的部分,仅渲染未被遮挡的部分,有助于节省工作量,提升效果。
上述本申请提供的实施例中,从电子设备(手机100)作为执行主体的角度对本申请实施例提供的方法进行了介绍。本申请实施例提供的图形渲染方法可以适用于具有显示屏的任何电子设备。为了实现上述本申请实施例提供的方法中的各功能,终端可以包括硬件结构和/或软件模块,以硬件结构、软件模块、或硬件结构加软件模块的形式来实现上述各功能。上述各功能中的某个功能以硬件结构、软件模块、还是硬件结构加软件模块的方式来执行,取决于技术方案的特定应用和设计约束条件。
结合上述实施例及相关附图,本申请实施例提供了一种图形渲染方法,该方法可以适用于具有显示屏的电子设备,比如,如图4所示的手机100、pad、笔记本电脑等电子设备,请参见图9所示,为本申请实施例提供的图形渲染方法的流程示意图。如图9所示,该方法的流程包括:
S901:电子设备在显示第一图形时,检测到第一操作;
示例性的,第一图形可以是图6(a)所示的界面601,第一操作可以是点击界面601中的微信图标602的操作。
S902:响应于所述第一操作,生成图形绘制指令;所述图形绘制指令包括目标图形上每个绘制元素的属性信息;
示例性的,图形绘制指令可以是图2所示的指令,或者其他形式的指令,本申请实施例不作限定。
S903:根据每个绘制元素的属性信息和绘制元素之间的图层关系,确定每个绘制元素上的第一区域和第二区域,其中,第一区域是所述每个绘制元素上未被上层的绘制元素遮挡住的区域,所述第二区域是被上层的绘制元素遮挡住的区域;
示例性的,以图7为例,以第一层为例,第一层上第一区域是虚线框以外的区域(未被第四层遮挡的区域),第二区域是虚线框内的区域(被第四层遮挡的区域),所以电子设备渲染第一层的绘制元素时,可以仅渲染第一区域,无需绘制第二区域。
示例性的,电子设备可以根据第一层的绘制元素的属性信息和第四层的绘制元素的属性信息确定第一区域和第二区域,比如比较第一层的绘制元素和第四层绘制元素的显示位置和尺寸大,可以确定第一区域的位置和大小。
S904:渲染所述第一区域;
示例性的,电子设备可以根据绘制元素的属性信息渲染第一区域。
S905:将渲染后的绘制元素合成所述目标图形;
示例性的,以图7为例,电子设备渲染完每一层之后,可以将4层的绘制元素合成为目标图形。
S906:显示所述目标图形。
示例性的,第一图形可以是图6(a)所示的界面603,那么目标图形可以是图6(b)所示的界面603。
本实施例还提供一种计算机存储介质,该计算机存储介质中存储有计算机指令,当该计算机指令在电子设备上运行时,使得电子设备执行图5或图9所示的实施例中的一个或多个步骤,以实现上述实施例中的图形渲染方法。
本实施例还提供了一种程序产品,当该程序产品在计算机上运行时,使得计算机执行图5或图9所示的实施例中的一个或多个步骤,以实现上述实施例中的图形渲染方法。
另外,本申请的实施例还提供一种装置,这个装置具体可以是芯片,组件或模块,该装置可包括相连的处理器和存储器;其中,存储器用于存储计算机执行指令,当装置运行时,处理器可执行存储器存储的计算机执行指令,以使芯片执行图5或图9所示的实施例中的一个或多个步骤,以实现上述实施例中的图形渲染方法。
其中,本实施例提供的电子设备、计算机存储介质、程序产品或芯片均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
应理解本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的部分实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括已列举实施例以及落入本发明范围的所有变更和修改。显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也包含这些改动和变型在内。

Claims (22)

1.一种图形渲染方法,其特征在于,应用于一电子设备,所述方法包括:
所述电子设备在显示第一图形时,检测到第一操作;
响应于所述第一操作,生成图形绘制指令;所述图形绘制指令包括目标图形上每个绘制元素的属性信息,所述属性信息包括绘制元素的透明度;
基于所述图形绘制指令中的透明度,确定每个绘制元素是透明或非透明;
将所有绘制元素中位于同一层的、且透明度相同的绘制元素进行合并成绘制元素组;
将所有的绘制元素组划分为M个非透明绘制元素组和N个透明绘制元素组;M、N为大于等于2的整数;
基于每个绘制元素组生成一条渲染命令,所述一条渲染命令用于指示对所述每个绘制元素组进行绘制的属性信息,所述渲染指令中包括所述每个绘制元素组的深度值信息;
对于所述M个非透明绘制元素组,先绘制渲染指令中深度信息大的绘制元素组,后绘制渲染指令中深度信息小的绘制元素组;
对于所述N个透明的绘制元素组,先绘制渲染指令中深度信息较小的绘制元素组,再绘制渲染指令中深度值信息较大的绘制元素组;
将绘制完的绘制元素合成所述目标图形。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
根据每个绘制元素的属性信息和绘制元素之间的图层关系,确定每个非透明绘制元素上的第一区域和第二区域;第一区域是所述每个绘制元素上未被上层的绘制元素遮挡住的区域,所述第二区域是被上层的绘制元素遮挡住的区域;
渲染所述第一区域。
3.如权利要求2所述的方法,其特征在于,渲染所述第一区域,包括:
按照第一顺序依次渲染所述每个非透明绘制元素上的第一区域;
其中,所述第一顺序用于指示所述每个非透明绘制元素到用户之间的距离由近到远的顺序。
4.如权利要求2或3所述的方法,其特征在于,所述方法还包括:
根据所述透明度信息从所有绘制元素确定透明绘制元素;
按照第二顺序依次渲染每个透明绘制元素;
其中,所述第二顺序用于指示所述每个透明绘制元素到用户之间的距离由远到近的顺序。
5.如权利要求3所述的方法,其特征在于,在按照第一顺序依次渲染每个绘制元素上的第一区域之前,所述方法还包括:
为每个非透明绘制元素设置深度值信息,所述深度值信息用于指示所述非透明绘制元素与基准层之间的距离,所述基准层为距离用户最远的绘制元素;
按照第一顺序依次渲染每个非透明绘制元素上的第一区域,包括:
按照深度值信息从大到小的顺序,依次渲染每个非透明绘制元素上的第一区域。
6.如权利要求4所述的方法,其特征在于,在按照第一顺序依次渲染每个绘制元素上的第一区域之前,所述方法还包括:
为每个非透明绘制元素设置深度值信息,所述深度值信息用于指示所述非透明绘制元素与基准层之间的距离,所述基准层为距离用户最远的绘制元素;
按照第一顺序依次渲染每个非透明绘制元素上的第一区域,包括:
按照深度值信息从大到小的顺序,依次渲染每个非透明绘制元素上的第一区域。
7.如权利要求4所述的方法,其特征在于,在按照第二顺序依次渲染每个透明绘制元素之前,所述方法还包括:
为每个透明绘制元素设置深度值信息,所述深度值信息用于指示所述每个透明绘制元素与基准层之间的距离,所述基准层为距离用户最远的绘制元素;
按照第二顺序依次渲染每个透明绘制元素,包括:
按照深度值信息从小到大的顺序,依次渲染每个透明绘制元素。
8.如权利要求5所述的方法,其特征在于,在按照第二顺序依次渲染每个透明绘制元素之前,所述方法还包括:
为每个透明绘制元素设置深度值信息,所述深度值信息用于指示所述每个透明绘制元素与基准层之间的距离,所述基准层为距离用户最远的绘制元素;
按照第二顺序依次渲染每个透明绘制元素,包括:
按照深度值信息从小到大的顺序,依次渲染每个透明绘制元素。
9.如权利要求1-3、5、8任一所述的方法,其特征在于,所述属性信息包括绘制元素的显示位置、尺寸、形状、显示内容中的一种或多种。
10.如权利要求4所述的方法,其特征在于,所述属性信息包括绘制元素的显示位置、尺寸、形状、显示内容中的一种或多种。
11.一种电子设备,其特征在于,所述电子设备包括显示屏;一个或多个处理器;存储器;多个应用程序;以及一个或多个计算机程序,其中所述一个或多个计算机程序被存储在所述存储器中,所述一个或多个计算机程序包括指令,当所述指令被所述电子设备执行时,使得所述电子设备执行以下步骤:
在显示第一图形时,检测到第一操作;
响应于所述第一操作,生成图形绘制指令;所述图形绘制指令包括目标图形上每个绘制元素的属性信息;所述属性信息包括绘制元素的透明度;
基于所述图形绘制指令中的透明度,确定每个绘制元素是透明或非透明;
将所有绘制元素中位于同一层的、且透明度相同的绘制元素进行合并成绘制元素组;
将所有的绘制元素组划分为M个非透明绘制元素组和N个透明绘制元素组;M、N为大于等于2的整数;
基于每个绘制元素组生成一条渲染命令,所述一条渲染命令用于指示对所述每个绘制元素组进行绘制的属性信息,所述渲染指令中包括所述每个绘制元素组的深度值信息;
对于所述M个非透明绘制元素组,先绘制渲染指令中深度信息大的绘制元素组,后绘制渲染指令中深度信息小的绘制元素组;
对于所述N个透明的绘制元素组,先绘制渲染指令中深度信息较小的绘制元素组,再绘制渲染指令中深度值信息较大的绘制元素组;
将绘制完的绘制元素合成所述目标图形。
12.如权利要求11所述的电子设备,其特征在于,当所述指令被所述电子设备执行时,使得所述电子设备执行以下步骤:
根据每个绘制元素的属性信息和绘制元素之间的图层关系,确定每个非透明绘制元素上的第一区域和第二区域;第一区域是所述每个绘制元素上未被上层的绘制元素遮挡住的区域,所述第二区域是被上层的绘制元素遮挡住的区域;
渲染所述第一区域。
13.如权利要求12所述的电子设备,其特征在于,当所述指令被所述电子设备执行时,使得所述电子设备执行以下步骤:
按照第一顺序依次渲染所述每个非透明绘制元素上的第一区域;
其中,所述第一顺序用于指示所述每个非透明绘制元素到用户之间的距离由近到远的顺序。
14.如权利要求12或13所述的电子设备,其特征在于,当所述指令被所述电子设备执行时,使得所述电子设备执行以下步骤:
根据所述透明度信息从所有绘制元素确定透明绘制元素;
按照第二顺序依次渲染每个透明绘制元素;
其中,所述第二顺序用于指示所述每个透明绘制元素到用户之间的距离由远到近的顺序。
15.如权利要求13所述的电子设备,其特征在于,当所述指令被所述电子设备执行时,HIA使得所述电子设备执行以下步骤:
为每个非透明绘制元素设置深度值信息,所述深度值信息用于指示所述非透明绘制元素与基准层之间的距离,所述基准层为距离用户最远的绘制元素;
按照深度值信息从大到小的顺序,依次渲染每个非透明绘制元素上的第一区域。
16.如权利要求14所述的电子设备,其特征在于,当所述指令被所述电子设备执行时,HIA使得所述电子设备执行以下步骤:
为每个非透明绘制元素设置深度值信息,所述深度值信息用于指示所述非透明绘制元素与基准层之间的距离,所述基准层为距离用户最远的绘制元素;
按照深度值信息从大到小的顺序,依次渲染每个非透明绘制元素上的第一区域。
17.如权利要求14所述的电子设备,其特征在于,当所述指令被所述电子设备执行时,使得所述电子设备执行以下步骤:
为每个透明绘制元素设置深度值信息,所述深度值信息用于指示所述每个透明绘制元素与基准层之间的距离,所述基准层为距离用户最远的绘制元素;
按照深度值信息从小到大的顺序,依次渲染每个透明绘制元素。
18.如权利要求15所述的电子设备,其特征在于,当所述指令被所述电子设备执行时,使得所述电子设备执行以下步骤:
为每个透明绘制元素设置深度值信息,所述深度值信息用于指示所述每个透明绘制元素与基准层之间的距离,所述基准层为距离用户最远的绘制元素;
按照深度值信息从小到大的顺序,依次渲染每个透明绘制元素。
19.如权利要求11-13、15、18任一所述的电子设备,其特征在于,所述属性信息包括绘制元素的显示位置、尺寸、形状、显示内容中的一种或多种。
20.如权利要求14所述的电子设备,其特征在于,所述属性信息包括绘制元素的显示位置、尺寸、形状、显示内容中的一种或多种。
21.一种计算机存储介质,其特征在于,包括计算机指令,当所述计算机指令在电子设备上运行时,使得所述电子设备执行如权利要求1-10中任一项所述的图形渲染方法。
22.一种程序产品,其特征在于,当所述程序产品在计算机上运行时,使得所述计算机执行如权利要求1-10中任一项所述的图形渲染方法。
CN201910212372.3A 2019-03-20 2019-03-20 一种图形渲染方法和电子设备 Active CN110209444B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910212372.3A CN110209444B (zh) 2019-03-20 2019-03-20 一种图形渲染方法和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910212372.3A CN110209444B (zh) 2019-03-20 2019-03-20 一种图形渲染方法和电子设备

Publications (2)

Publication Number Publication Date
CN110209444A CN110209444A (zh) 2019-09-06
CN110209444B true CN110209444B (zh) 2021-07-09

Family

ID=67785070

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910212372.3A Active CN110209444B (zh) 2019-03-20 2019-03-20 一种图形渲染方法和电子设备

Country Status (1)

Country Link
CN (1) CN110209444B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112559098B (zh) 2019-09-26 2022-04-26 华为技术有限公司 一种卡片渲染方法及电子设备
CN111459591B (zh) * 2020-03-31 2023-03-28 杭州海康威视数字技术股份有限公司 待渲染对象处理方法、装置和终端
WO2021226919A1 (en) * 2020-05-14 2021-11-18 Qualcomm Incorporated Removing invisible layers from rendering queue
CN115631258B (zh) * 2020-07-31 2023-10-20 荣耀终端有限公司 一种图像处理方法及电子设备
CN112328130B (zh) * 2020-09-04 2021-10-01 荣耀终端有限公司 显示处理方法及电子设备
CN112286472B (zh) * 2020-10-20 2022-09-16 海信电子科技(武汉)有限公司 Ui显示方法及显示设备
CN114764358A (zh) * 2021-01-13 2022-07-19 华为技术有限公司 一种界面显示方法及电子设备
CN113052928A (zh) * 2021-03-08 2021-06-29 北京房江湖科技有限公司 图像处理方法及图像处理系统
CN113963083B (zh) * 2021-11-04 2023-11-24 北京思明启创科技有限公司 编程积木块绘制方法、积木搭建方法、装置及电子设备
CN114816629B (zh) * 2022-04-15 2024-03-22 网易(杭州)网络有限公司 绘制显示对象的方法、装置、存储介质及电子装置
CN115328607B (zh) * 2022-10-13 2023-03-10 广州镭晨智能装备科技有限公司 一种半导体器件渲染方法、装置、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103678631A (zh) * 2013-12-19 2014-03-26 华为技术有限公司 页面渲染方法及装置
CN104751507A (zh) * 2013-12-31 2015-07-01 北界创想(北京)软件有限公司 图形内容渲染方法和装置
CN106127721A (zh) * 2015-05-05 2016-11-16 联发科技股份有限公司 用于显示由叠加图像层合成的混合图像的图形系统及方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2009202377A1 (en) * 2009-06-15 2011-01-06 Canon Kabushiki Kaisha Combining overlapping objects
CN102193740B (zh) * 2011-06-16 2012-12-26 珠海全志科技股份有限公司 嵌入式图形界面系统中多层窗口的生成方法
CN103955957A (zh) * 2014-04-22 2014-07-30 Tcl集团股份有限公司 一种3d图形渲染方法及系统
CN106971411A (zh) * 2017-03-13 2017-07-21 广东南方数码科技股份有限公司 一种绘制图像的方法和系统
CN108509239B (zh) * 2018-03-07 2021-08-20 斑马网络技术有限公司 图层显示方法、装置、电子设备及存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103678631A (zh) * 2013-12-19 2014-03-26 华为技术有限公司 页面渲染方法及装置
CN104751507A (zh) * 2013-12-31 2015-07-01 北界创想(北京)软件有限公司 图形内容渲染方法和装置
CN106127721A (zh) * 2015-05-05 2016-11-16 联发科技股份有限公司 用于显示由叠加图像层合成的混合图像的图形系统及方法

Also Published As

Publication number Publication date
CN110209444A (zh) 2019-09-06

Similar Documents

Publication Publication Date Title
CN110209444B (zh) 一种图形渲染方法和电子设备
EP3910457A1 (en) Image rendering method and electronic device
WO2021023021A1 (zh) 一种显示方法及电子设备
CN113553014B (zh) 多窗口投屏场景下的应用界面显示方法及电子设备
US11762529B2 (en) Method for displaying application icon and electronic device
US20190268294A1 (en) Screen display method, apparatus, terminal, and storage medium
CN110839096A (zh) 一种具有折叠屏的设备的触控方法与折叠屏设备
CN110795007B (zh) 一种获取截图信息的方法及装置
CN115039378A (zh) 一种音频输出方法及终端设备
CN116055773A (zh) 一种多屏协同方法、系统及电子设备
CN110198336B (zh) 一种自动排版方法和云服务平台
CN114115629A (zh) 一种界面显示方法及设备
CN111656347B (zh) 一种项目的显示方法及终端
CN114201738B (zh) 解锁方法及电子设备
WO2021042881A1 (zh) 消息通知方法及电子设备
CN114666433A (zh) 一种终端设备中啸叫处理方法及装置、终端
CN115242994B (zh) 视频通话系统、方法和装置
WO2020014900A1 (zh) 一种消息的显示方法及终端
CN113485596B (zh) 虚拟模型的处理方法、装置、电子设备及存储介质
CN110134393B (zh) 一种处理操作信号的方法和装置
CN116708647B (zh) 通知消息回复方法及电子设备
CN116088715B (zh) 消息提醒方法及电子设备
CN112181572B (zh) 互动特效展示方法、装置、终端及存储介质
CN114826800B (zh) 信息获取方法、装置、终端及存储介质
US20240126505A1 (en) Distributed Audio Playing Method and Electronic Device

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