CN104809684A - 图形处理方法、装置及系统 - Google Patents

图形处理方法、装置及系统 Download PDF

Info

Publication number
CN104809684A
CN104809684A CN201510154809.4A CN201510154809A CN104809684A CN 104809684 A CN104809684 A CN 104809684A CN 201510154809 A CN201510154809 A CN 201510154809A CN 104809684 A CN104809684 A CN 104809684A
Authority
CN
China
Prior art keywords
rendering order
drawing area
irregular
order
rendering
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
CN201510154809.4A
Other languages
English (en)
Other versions
CN104809684B (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 CN201510154809.4A priority Critical patent/CN104809684B/zh
Publication of CN104809684A publication Critical patent/CN104809684A/zh
Priority to PCT/CN2015/094969 priority patent/WO2016155329A1/zh
Priority to EP15887283.8A priority patent/EP3267391B1/en
Priority to US15/719,073 priority patent/US10198785B2/en
Application granted granted Critical
Publication of CN104809684B publication Critical patent/CN104809684B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • 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/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/206Drawing of charts or graphs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/40Filling a planar surface by adding surface attributes, e.g. colour or texture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Generation (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本发明实施例提供一种图形处理方法、装置及系统。该方法包括:接收当前帧输入的命令队列,该命令队列包括多个绘制命令;根据外包矩形信息与绘制区域信息,将每一个不规则绘制命令拆分成至少一个第一类绘制命令和至少一个第二类绘制命令;根据外包矩形信息和绘制区域信息,将该多个绘制命令中的规则绘制命令,以及拆分后的第一类绘制命令和第二类绘制命令,分组成多个绘制命令集,使得属于不同绘制命令集的绘制命令互不相交;根据外包矩形信息和绘制区域信息,对该多个绘制命令集分别进行相交检测;根据执行内容、绘制模式和绘制区域信息,对经过相交检测的该多个绘制命令集分别进行绘制命令合并;执行每个绘制命令集经合并后的绘制命令。

Description

图形处理方法、装置及系统
技术领域
本发明实施例涉及图像处理领域,并且更具体地,涉及一种图形处理方法、装置及系统。
背景技术
图形引擎是为了方便应用开发,对图形操作进行封装而成的图形库。由系统提供或开发者自行设计。在每次界面发生变化(启动、滑动、跳转、动画等),都需要图形引擎把适合的界面完全绘制出来。图形引擎绘制时,根据像素的多少,需要消耗大量中央处理单元(Central Processing Unit;CPU)、图形处理单元(Graphic Processing Unit)和双倍速率同步动态随机存储器(Double Data Rate、DDR)资源。理想情况下,图形引擎每次绘制的像素数即是屏幕的宽高积,但在发生过度绘制时会超过这个数。过度绘制是指同一个像素反复被绘制的情况。
现有的一种消除过度绘制的方法,在绘制时采用相交检测、绘制命令合并的方法,去除过度绘制。
但是,现有的消除过度绘制的方法,无法绘制不规则图形,如任意角度旋转的矩形,三角形,椭圆等,同时,相交检测的时间复杂度高,在绘制图形很多的情况下抵消了消除过度绘制的收益。
发明内容
本发明实施例提供一种图形处理方法、装置及系统,能够在减少相交检测复杂度的同时,一定程度上消除过度绘制。
第一方面,提供了一种图形处理方法,该方法包括:接收当前帧输入的命令队列,该命令队列包括多个绘制命令,每个该绘制命令都携带外包矩形信息、执行内容、绘制模式与绘制区域信息,该绘制模式包括覆盖模式、混合模式或等待模式;根据外包矩形信息与绘制区域信息,将该多个绘制命令中的每一个不规则绘制命令拆分成至少一个第一类绘制命令和至少一个第二类绘制命令,其中,该第一类绘制命令的绘制区域为该不规则绘制命令对应的绘制区域内的矩形,该至少一个第二类绘制命令的绘制区域为该不规则绘制命令对应的绘制区域去掉该至少一个第一类绘制命令的绘制区域后剩余的边角区域,该至少一个第一类绘制命令的绘制模式与该不规则绘制命令的绘制模式相同,该至少一个第二类绘制命令的绘制模式为等待模式;根据外包矩形信息和绘制区域信息,将该多个绘制命令中的规则绘制命令,以及该多个绘制命令中的不规则绘制命令经拆分后的该第一类绘制命令和该第二类绘制命令,分组成多个绘制命令集,使得属于不同绘制命令集的绘制命令互不相交;根据外包矩形信息和绘制区域信息,对该多个绘制命令集分别进行相交检测,使得该多个绘制命令集中每一个绘制命令集内绘制命令互不相交;根据执行内容、绘制模式和绘制区域信息,对经过相交检测的该多个绘制命令集分别进行绘制命令合并;执行每个绘制命令集经合并后的绘制命令。
结合第一方面,在第一种可能的实现方式中,根据该外包矩形信息与该绘制区域信息,将该多个绘制命令中的每一个不规则绘制命令拆分成至少一个第一类绘制命令和至少一个第二类绘制命令具体实现为:根据该不规则绘制命令的外包矩形信息与绘制区域信息,获取该不规则绘制命令的最大内接矩形信息;利用该不规则绘制命令的外包矩形信息与最大内接矩形信息,将该不规则绘制命令拆分成一个该第一类绘制命令和至少一个该第二类绘制命令,其中,该第一类绘制命令对应的区域为该不规则绘制命令对应的最大内接矩形,该至少一个第二类绘制命令对应的绘制区域为该不规则绘制命令对应的绘制区域除该最大内接矩形外的边角区域。
结合第一方面,在第二种可能的实现方式中,根据该外包矩形信息与该绘制区域信息,将该多个绘制命令中的每一个不规则绘制命令拆分成至少一个第一类绘制命令和至少一个第二类绘制命令具体实现为:当该不规则绘制命令对应的绘制区域为不规则多边形时,将该不规则多边形的绘制区域切分成多个三角形的绘制区域,并根据该不规则多边形的切分方法将该不规则绘制命令拆分成多个第三类绘制命令,该多个第三类绘制命令与该多个三角形的绘制区域之间是一一对应关系;针对每个第三类绘制命令,根据该第三类绘制命令的外包矩形信息与绘制区域信息,获取该第三类绘制命令的最大内接矩形信息;利用该第三类绘制命令的外包矩形信息与最大内接矩形信息,将该第三类绘制命令拆分成一个该第一类绘制命令和至少一个该第二类绘制命令,其中,该第一类绘制命令对应的区域为该第三类绘制命令对应的最大内接矩形,该至少一个第二类绘制命令对应的绘制区域为该第三类绘制命令对应的绘制区域除该最大内接矩形外的边角区域。
第二方面,提供了一种图形处理方法,该方法包括:接收当前帧输入的命令队列,该命令队列包括多个应用程序编程接口API命令;将该多个API命令转换为多个绘制命令,每个该绘制命令都携带外包矩形信息、执行内容、绘制模式与绘制区域信息,该绘制模式包括覆盖模式、混合模式或等待模式;根据外包矩形信息与绘制区域信息,将该多个绘制命令中的每一个不规则绘制命令拆分成至少一个第一类绘制命令和至少一个第二类绘制命令,其中,该第一类绘制命令的绘制区域为该不规则绘制命令对应的绘制区域内的矩形,该至少一个第二类绘制命令的绘制区域为该不规则绘制命令对应的绘制区域去掉该至少一个第一类绘制命令的绘制区域后剩余的边角区域,该至少一个第一类绘制命令的绘制模式与该不规则绘制命令的绘制模式相同,该至少一个第二类绘制命令的绘制模式为等待模式;根据外包矩形信息和绘制区域信息,将该多个绘制命令中的规则绘制命令,以及该多个绘制命令中的不规则绘制命令经拆分后的该第一类绘制命令和该第二类绘制命令,分组成多个绘制命令集,使得属于不同绘制命令集的绘制命令互不相交;根据外包矩形信息和绘制区域信息,对该多个绘制命令集分别进行相交检测,使得该多个绘制命令集中每一个绘制命令集内绘制命令互不相交;根据执行内容、绘制模式和绘制区域信息,对经过相交检测的该多个绘制命令集分别进行绘制命令合并;执行每个绘制命令集经合并后的绘制命令。
结合第二方面,在第一种可能的实现方式中,根据该外包矩形信息与该绘制区域信息,将该多个绘制命令中的每一个不规则绘制命令拆分成至少一个第一类绘制命令和至少一个第二类绘制命令具体实现为:根据该不规则绘制命令的外包矩形信息与绘制区域信息,获取该不规则绘制命令的最大内接矩形信息;利用该不规则绘制命令的外包矩形信息与最大内接矩形信息,将该不规则绘制命令拆分成一个该第一类绘制命令和至少一个该第二类绘制命令,其中,该第一类绘制命令对应的区域为该不规则绘制命令对应的最大内接矩形,该至少一个第二类绘制命令对应的绘制区域为该不规则绘制命令对应的绘制区域除该最大内接矩形外的边角区域。
结合第二方面,在第二种可能的实现方式中,根据该外包矩形信息与该绘制区域信息,将该多个绘制命令中的每一个不规则绘制命令拆分成至少一个第一类绘制命令和至少一个第二类绘制命令具体实现为:当该不规则绘制命令对应的绘制区域为不规则多边形时,将该不规则多边形的绘制区域切分成多个三角形的绘制区域,并根据该不规则多边形的切分方法将该不规则绘制命令拆分成多个第三类绘制命令,每一个该第三类绘制命令对应的绘制区域为该多个三角形的绘制区域之一;针对每个第三类绘制命令,根据该第三类绘制命令的外包矩形信息与绘制区域信息,获取该第三类绘制命令的最大内接矩形信息;利用该第三类绘制命令的外包矩形信息与最大内接矩形信息,将该第三类绘制命令拆分成一个该第一类绘制命令和至少一个该第二类绘制命令,其中,该第一类绘制命令对应的区域为该第三类绘制命令对应的最大内接矩形,该至少一个第二类绘制命令对应的绘制区域为该第三类绘制命令对应的绘制区域除该最大内接矩形外的边角区域。
第三方面,提供了一种图形处理装置,该图形处理装置包括:命令收集模块,用于接收当前帧输入的命令队列,该命令队列包括多个绘制命令,每个该绘制命令都携带外包矩形信息、执行内容、绘制模式与绘制区域信息,该绘制模式包括覆盖模式、混合模式或等待模式;命令拆分模块,用于根据外包矩形信息与绘制区域信息,将该多个绘制命令中的每一个不规则绘制命令拆分成至少一个第一类绘制命令和至少一个第二类绘制命令,其中,该第一类绘制命令的绘制区域为该不规则绘制命令对应的绘制区域内的矩形,该至少一个第二类绘制命令的绘制区域为该不规则绘制命令对应的绘制区域去掉该至少一个第一类绘制命令的绘制区域后剩余的边角区域,该至少一个第一类绘制命令的绘制模式与该不规则绘制命令的绘制模式相同,该至少一个第二类绘制命令的绘制模式为等待模式;命令分组模块,用于根据外包矩形信息和绘制区域信息,将该多个绘制命令中的规则绘制命令,以及该多个绘制命令中的不规则绘制命令经拆分后的该第一类绘制命令和该第二类绘制命令,分组成多个绘制命令集,使得属于不同绘制命令集的绘制命令互不相交;相交检测模块,用于根据外包矩形信息和绘制区域信息,对该多个绘制命令集分别进行相交检测,使得该多个绘制命令集中每一个绘制命令集内绘制命令互不相交;命令合并模块,用于根据执行内容、绘制模式和绘制区域信息,对经过相交检测的该多个绘制命令集分别进行绘制命令合并;执行模块,用于执行每个绘制命令集经合并后的绘制命令。
结合第三方面,在第一种可能的实现方式中,该命令拆分模块具体用于:根据该不规则绘制命令的外包矩形信息与绘制区域信息,获取该不规则绘制命令的最大内接矩形信息;利用该不规则绘制命令的外包矩形信息与最大内接矩形信息,将该不规则绘制命令拆分成一个该第一类绘制命令和至少一个该第二类绘制命令,其中,该第一类绘制命令对应的区域为该不规则绘制命令对应的最大内接矩形,该至少一个第二类绘制命令对应的绘制区域为该不规则绘制命令对应的绘制区域除该最大内接矩形外的边角区域。
结合第三方面,在第二种可能的实现方式中,该命令拆分模块具体用于:当该不规则绘制命令对应的绘制区域为不规则多边形时,将该不规则多边形的绘制区域切分成多个三角形的绘制区域,并根据该不规则多边形的切分方法将该不规则绘制命令拆分成多个第三类绘制命令,该多个第三类绘制命令与该多个三角形的绘制区域之间是一一对应关系;针对每个第三类绘制命令,根据该第三类绘制命令的外包矩形信息与绘制区域信息,获取该第三类绘制命令的最大内接矩形信息;利用该第三类绘制命令的外包矩形信息与最大内接矩形信息,将该第三类绘制命令拆分成一个该第一类绘制命令和至少一个该第二类绘制命令,其中,该第一类绘制命令对应的区域为该第三类绘制命令对应的最大内接矩形,该至少一个第二类绘制命令对应的绘制区域为该第三类绘制命令对应的绘制区域除该最大内接矩形外的边角区域。
第四方面,提供了一种图形处理装置,该图形处理装置包括:命令收集模块,用于接收当前帧输入的命令队列,该命令队列包括多个应用程序编程接口API命令;命令转换模块,用于将该多个API命令转换为多个绘制命令,每个该绘制命令都携带外包矩形信息、执行内容、绘制模式与绘制区域信息,该绘制模式包括覆盖模式、混合模式或等待模式;命令拆分模块,用于根据外包矩形信息与绘制区域信息,将该多个绘制命令中的每一个不规则绘制命令拆分成至少一个第一类绘制命令和至少一个第二类绘制命令,其中,该第一类绘制命令的绘制区域为该不规则绘制命令对应的绘制区域内的矩形,该至少一个第二类绘制命令的绘制区域为该不规则绘制命令对应的绘制区域去掉该至少一个第一类绘制命令的绘制区域后剩余的边角区域,该至少一个第一类绘制命令的绘制模式与该不规则绘制命令的绘制模式相同,该至少一个第二类绘制命令的绘制模式为等待模式;命令分组模块,用于根据外包矩形信息和绘制区域信息,将该多个绘制命令中的规则绘制命令,以及该多个绘制命令中的不规则绘制命令经拆分后的该第一类绘制命令和该第二类绘制命令,分组成多个绘制命令集,使得属于不同绘制命令集的绘制命令互不相交;相交检测模块,用于根据外包矩形信息和绘制区域信息,对该多个绘制命令集分别进行相交检测,使得该多个绘制命令集中每一个绘制命令集内绘制命令互不相交;命令合并模块,用于根据执行内容、绘制模式和绘制区域信息,对经过相交检测的该多个绘制命令集分别进行绘制命令合并;执行模块,用于执行每个绘制命令集经合并后的绘制命令。
结合第四方面,在第一种可能的实现方式中,该命令拆分模块具体用于:根据该不规则绘制命令的外包矩形信息与绘制区域信息,获取该不规则绘制命令的最大内接矩形信息;利用该不规则绘制命令的外包矩形信息与最大内接矩形信息,将该不规则绘制命令拆分成一个该第一类绘制命令和至少一个该第二类绘制命令,其中,该第一类绘制命令对应的区域为该不规则绘制命令对应的最大内接矩形,该至少一个第二类绘制命令对应的绘制区域为该不规则绘制命令对应的绘制区域除该最大内接矩形外的边角区域。
结合第四方面,在第二种可能的实现方式中,该命令拆分模块具体用于:当该不规则绘制命令对应的绘制区域为不规则多边形时,将该不规则多边形的绘制区域切分成多个三角形的绘制区域,并根据该不规则多边形的切分方法将该不规则绘制命令拆分成多个第三类绘制命令,该多个第三类绘制命令与该多个三角形的绘制区域之间是一一对应关系;针对每个第三类绘制命令,根据该第三类绘制命令的外包矩形信息与绘制区域信息,获取该第三类绘制命令的最大内接矩形信息;利用该第三类绘制命令的外包矩形信息与最大内接矩形信息,将该第三类绘制命令拆分成一个该第一类绘制命令和至少一个该第二类绘制命令,其中,该第一类绘制命令对应的区域为该第三类绘制命令对应的最大内接矩形,该至少一个第二类绘制命令对应的绘制区域为该第三类绘制命令对应的绘制区域除该最大内接矩形外的边角区域。
第五方面,提出了一种计算机系统,该计算机系统包括处理器和存储器;
该存储器用于存放程序;
该处理器用于执行存储器所存放的程序,并具体用于执行以下操作:
接收当前帧输入的命令队列,该命令队列包括多个绘制命令,每个该绘制命令都携带外包矩形信息、执行内容、绘制模式与绘制区域信息,该绘制模式包括覆盖模式、混合模式或等待模式;
根据外包矩形信息与绘制区域信息,将该多个绘制命令中的每一个不规则绘制命令拆分成至少一个第一类绘制命令和至少一个第二类绘制命令,其中,该第一类绘制命令的绘制区域为该不规则绘制命令对应的绘制区域内的矩形,该至少一个第二类绘制命令的绘制区域为该不规则绘制命令对应的绘制区域去掉该至少一个第一类绘制命令的绘制区域后剩余的边角区域,该至少一个第一类绘制命令的绘制模式与该不规则绘制命令的绘制模式相同,该至少一个第二类绘制命令的绘制模式为等待模式;
根据外包矩形信息和绘制区域信息,将该多个绘制命令中的规则绘制命令,以及该多个绘制命令中的不规则绘制命令经拆分后的该第一类绘制命令和该第二类绘制命令,分组成多个绘制命令集,使得属于不同绘制命令集的绘制命令互不相交;
根据外包矩形信息和绘制区域信息,对该多个绘制命令集分别进行相交检测,使得该多个绘制命令集中每一个绘制命令集内绘制命令互不相交;
根据执行内容、绘制模式和绘制区域信息,对经过相交检测的该多个绘制命令集分别进行绘制命令合并;
执行每个绘制命令集经合并后的绘制命令。
结合第五方面,在第一种可能的实现方式中,在用于根据外包矩形信息与绘制区域信息,将该多个绘制命令中的每一个不规则绘制命令拆分成至少一个第一类绘制命令和至少一个第二类绘制命令的过程中,处理器具体用于:根据该不规则绘制命令的外包矩形信息与绘制区域信息,获取该不规则绘制命令的最大内接矩形信息;利用该不规则绘制命令的外包矩形信息与最大内接矩形信息,将该不规则绘制命令拆分成一个该第一类绘制命令和至少一个该第二类绘制命令,其中,该第一类绘制命令对应的区域为该不规则绘制命令对应的最大内接矩形,该至少一个第二类绘制命令对应的绘制区域为该不规则绘制命令对应的绘制区域除该最大内接矩形外的边角区域。
结合第五方面,在第二种可能的实现方式中,在用于根据外包矩形信息与绘制区域信息,将该多个绘制命令中的每一个不规则绘制命令拆分成至少一个第一类绘制命令和至少一个第二类绘制命令的过程中,处理器具体用于:当该不规则绘制命令对应的绘制区域为不规则多边形时,将该不规则多边形的绘制区域切分成多个三角形的绘制区域,并根据该不规则多边形的切分方法将该不规则绘制命令拆分成多个第三类绘制命令,该多个第三类绘制命令与该多个三角形的绘制区域之间是一一对应关系;针对每个第三类绘制命令,根据该第三类绘制命令的外包矩形信息与绘制区域信息,获取该第三类绘制命令的最大内接矩形信息;利用该第三类绘制命令的外包矩形信息与最大内接矩形信息,将该第三类绘制命令拆分成一个该第一类绘制命令和至少一个该第二类绘制命令,其中,该第一类绘制命令对应的区域为该第三类绘制命令对应的最大内接矩形,该至少一个第二类绘制命令对应的绘制区域为该第三类绘制命令对应的绘制区域除该最大内接矩形外的边角区域。
第六方面,提出了一种计算机系统,该计算机系统包括处理器和存储器;
该存储器用于存放程序;
该处理器用于执行存储器所存放的程序,并具体用于执行以下操作:
接收当前帧输入的命令队列,该命令队列包括多个应用程序编程接口API命令;
将该多个API命令转换为多个绘制命令,每个该绘制命令都携带外包矩形信息、执行内容、绘制模式与绘制区域信息,该绘制模式包括覆盖模式、混合模式或等待模式;
根据外包矩形信息与绘制区域信息,将该多个绘制命令中的每一个不规则绘制命令拆分成至少一个第一类绘制命令和至少一个第二类绘制命令,其中,该第一类绘制命令的绘制区域为该不规则绘制命令对应的绘制区域内的矩形,该至少一个第二类绘制命令的绘制区域为该不规则绘制命令对应的绘制区域去掉该至少一个第一类绘制命令的绘制区域后剩余的边角区域,该至少一个第一类绘制命令的绘制模式与该不规则绘制命令的绘制模式相同,该至少一个第二类绘制命令的绘制模式为等待模式;
根据外包矩形信息和绘制区域信息,将该多个绘制命令中的规则绘制命令,以及该多个绘制命令中的不规则绘制命令经拆分后的该第一类绘制命令和该第二类绘制命令,分组成多个绘制命令集,使得属于不同绘制命令集的绘制命令互不相交;
根据外包矩形信息和绘制区域信息,对该多个绘制命令集分别进行相交检测,使得该多个绘制命令集中每一个绘制命令集内绘制命令互不相交;
根据执行内容、绘制模式和绘制区域信息,对经过相交检测的该多个绘制命令集分别进行绘制命令合并;
执行每个绘制命令集经合并后的绘制命令。
结合第六方面,在第一种可能的实现方式中,在用于根据外包矩形信息与绘制区域信息,将该多个绘制命令中的每一个不规则绘制命令拆分成至少一个第一类绘制命令和至少一个第二类绘制命令的过程中,处理器具体用于:根据该不规则绘制命令的外包矩形信息与绘制区域信息,获取该不规则绘制命令的最大内接矩形信息;利用该不规则绘制命令的外包矩形信息与最大内接矩形信息,将该不规则绘制命令拆分成一个该第一类绘制命令和至少一个该第二类绘制命令,其中,该第一类绘制命令对应的区域为该不规则绘制命令对应的最大内接矩形,该至少一个第二类绘制命令对应的绘制区域为该不规则绘制命令对应的绘制区域除该最大内接矩形外的边角区域。
结合第六方面,在第二种可能的实现方式中,在用于根据外包矩形信息与绘制区域信息,将该多个绘制命令中的每一个不规则绘制命令拆分成至少一个第一类绘制命令和至少一个第二类绘制命令的过程中,处理器具体用于:当该不规则绘制命令对应的绘制区域为不规则多边形时,将该不规则多边形的绘制区域切分成多个三角形的绘制区域,并根据该不规则多边形的切分方法将该不规则绘制命令拆分成多个第三类绘制命令,该多个第三类绘制命令与该多个三角形的绘制区域之间是一一对应关系;针对每个第三类绘制命令,根据该第三类绘制命令的外包矩形信息与绘制区域信息,获取该第三类绘制命令的最大内接矩形信息;利用该第三类绘制命令的外包矩形信息与最大内接矩形信息,将该第三类绘制命令拆分成一个该第一类绘制命令和至少一个该第二类绘制命令,其中,该第一类绘制命令对应的区域为该第三类绘制命令对应的最大内接矩形,该至少一个第二类绘制命令对应的绘制区域为该第三类绘制命令对应的绘制区域除该最大内接矩形外的边角区域。
第七方面,提出了一种图形显示系统,该图形显示系统包括:
如第三方面或第三方面的第一种可能的实现方式或第三方面的第二种可能的实现方式的图形处理装置;以及
图形显示装置,与该图形处理装置具有通信连接,用于显示该图形处理装置执行完经合并后的绘制命令所得到的图形。
第八方面,提出了一种图形显示系统,该图形显示系统包括:
如第四方面或第四方面的第一种可能的实现方式或第四方面的第二种可能的实现方式的图形处理装置;以及
图形显示装置,与该图形处理装置具有通信连接,用于显示该图形处理装置执行完经合并后的绘制命令所得到的图形。
一方面,本发明实施例的图形处理方法、装置及系统,将当前帧的命令队列中的不规则绘制命令按绘制区域拆分成规则绘制命令和不规则绘制命令,并将拆分前的规则绘制命令及拆分后的规则绘制命令和不规则绘制命令分组为多个互不相交的绘制命令集,再对每个绘制命令集分别进行相交检测和命令合并,由于将绘制命令分组成多个绘制命令集再进行相交检测能够大大减少相交检测的时间,并且由于将原始不规则绘制命令拆分成规则绘制命令和不规则绘制命令,拆分后的规则绘制命令在经过相交检测后得到若干个新的规则绘制命令,该若干个新的规则绘制命令中有可能会有一个或多个在命令合并操作中被合并,能够在一定程度上增加消除过度绘制的效果,从而能够提高图形处理的性能。
另一方面,本发明实施例的图形处理方法、装置及系统,通过将当前帧的命令队列中的多个API命令转换为多个绘制命令,再将多个绘制命令中的不规则绘制命令按绘制区域拆分成规则绘制命令和不规则绘制命令,并将拆分前的规则绘制命令及拆分后的规则绘制命令和不规则绘制命令分组为多个互不相交的绘制命令集,再对每个绘制命令集分别进行相交检测和命令合并,由于将绘制命令分组成多个绘制命令集再进行相交检测能够大大减少相交检测的时间,并且由于将原始不规则绘制命令拆分成规则绘制命令和不规则绘制命令,拆分后的规则绘制命令在经过相交检测后得到若干个新的规则绘制命令,该若干个新的规则绘制命令中有可能会有一个或多个在命令合并操作中被合并,能够在一定程度上增加消除过度绘制的效果,从而能够提高图形处理的性能。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是一种终端设备的逻辑架构示意图。
图2是本发明实施例相交检测的方法示意图。
图3是本发明实施例的发明原理示意图。
图4是本发明实施例一种图形处理方法的流程示意图。
图5是本发明实施例命令拆分的方法的流程示意图。
图6是任意角度旋转的矩形中求取最大内接矩形的示意图。
图7是椭圆中求取最大内接矩形的示意图。
图8是三角形中求取最大内接矩形的示意图。
图9是本发明实施例显示空间的绘制命令对应的绘制区域示意图。
图10是本发明实施例显示空间采用R+树算法进行一次划分后的绘制区域示意图。
图11是本发明实施例显示空间采用R+树算法进行二次划分后的绘制区域示意图。
图12是本发明实施例的R+树的节点示意图。
图13是本发明实施例图形处理方法中命令队列的演变示意图。
图14是本发明实施例图形处理装置的结构示意图。
图15是本发明实施例图形处理的具体流程示意图。
图16是本发明实施例计算机系统的结构示意图。
图17是本发明实施例的另一图形处理方法示意图。
图18是本发明实施例的另一图形处理装置的结构示意图。
图19是本发明实施例的另一图形处理的具体流程示意图。
图20是本发明实施例另一计算机系统的结构示意图。
图21是本发明实施例图形显示系统的结构示意图。
图22是本发明实施例另一图形显示系统的结构示意图。
图23是本发明实施例再一图形显示系统的结构示意图。
图24是本发明实施例再一图形显示系统的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
终端(Terminal),可以称之为用户设备(User Equipment,简称“UE”)、用户等,可以经无线接入网(例如,Radio Access Network,简称“RAN”)与一个或多个核心网进行通信,可以是移动终端,如移动电话(或称为“蜂窝”电话)和具有移动终端的计算机,例如,可以是便携式、袖珍式、手持式、计算机内置的或者车载的移动装置,它们与无线接入网交换语言和/或数据。
为了方便理解本发明实施例,首先在此介绍本发明实施例描述中会引入的几个要素。
最大内接矩形:四个顶点都在图形的边上,且构成的矩形都在该图形的内部,则该矩形称为该图形的内接矩形。当内接矩形的面积最大时,称为最大内接矩形。本发明实施例中的最大内接矩形,还必须满足条件:不妨假设终端的桌面的一条边为A,则最大内接矩形的两条平行边与边A平行,另两条平行边与边A垂直。
绘制命令:图形引擎对终端的显示桌面的图形渲染命令。一般可包括Rect、Work、Mode和Shape四类信息。其中,Rect表示绘制命令所绘制的区域的外包矩形信息;Work表示绘制命令的执行内容;Mode表示绘制命令的绘制模式,即绘制结果与画布上的混合模式,包括覆盖(Opaque)、混合(Blend)和等待(Wait)三类;Shape描述绘制命令的区域形状,如矩形/圆形/点/线等,绘制命令的区域形状,也就是绘制命令的绘制区域。
图1是一种终端设备的结构示意图。
以图1为例介绍本发明实施例提供的图形处理方法应用的计算节点的逻辑结构。该计算节点可以是终端设备,该终端设备具体可以为一智能手机。如图1所示,该终端设备的硬件层包括CPU、GPU等,当然还可以包括存储器、输入/输出设备、内存、内存控制器、网络接口等,输入设备可包括键盘、鼠标、触摸屏等,输出设备可包括显示设备如LCD、CRT、全息成像(Holographic)、投影(Projector)等。在硬件层之上可运行有操作系统(如Android等)以及一些应用程序。核心库是操作系统的核心部分,包括输入/输出服务、核心服务、图形设备接口以及实现CPU、GPU图形处理的图形引擎(Graphics Engine)等。图形引擎可包括2D引擎、3D引擎、合成器(Composition)、帧缓冲区(Frame Buffer)、EGL等。除此之外,该终端还包括驱动层、框架层和应用层。驱动层可包括CPU驱动、GPU驱动、显示控制器驱动等。框架层可包括图形服务(Graphic Service)、系统服务(Systemservice)、网页服务(Web Service)和用户服务(Customer Service)等;图形服务中,可包括如微件(Widget)、画布(Canvas)、视图(Views)、RenderScript等。应用层可包括桌面(launcher)、媒体播放器(Media Player)、浏览器(Browser)等。
本发明实施例的方法,可由图1的核心库层中的2D引擎执行。
以图1为例,本发明实施例提供的图形处理方法,应用于计算节点,该计算节点可以是终端设备,其中,该终端设备的硬件层可包括处理器,(例如中央处理器(Center Processing Unit,CPU)、图形处理器(Graphic ProcessingUnit,GPU))、显示控制器(Display Controller)、内存、内存控制器、输入设备、显示设备等硬件,核心库层(Kernel Library)可包括输入/输出服务(I/OService)、核心服务(Kernel Service)及图形引擎(Graphic Engine),应当理解的是,本发明实施例方法的执行主体的逻辑结构可参考图1。
现有的一种消除过度绘制的方法,在绘制时采用相交检测,命令合并的方法,去除过度绘制,其相交检测算法及命令合并算法的算法思想如下所示。
相交检测算法:
输入:一个绘制分区内的一系列带绘制区域的绘制命令
输出:一系列带绘制命令的不相交的绘制区域。
步骤:
1、把所有绘制区域放入区域池。
2、开始检查第一个绘制区域A:
3、检测A与区域池中其它绘制区域是否相交。
4、如果无相交,则处理下一个绘制区域。
5、如果区域池中存在绘制区域B与A相交,则求出A与B的相交区域C,C中聚合A和B的命令,并将A和B按C划分为一系列子区域。区域池中删除A、B,并将C和子区域加入区域池。图2是本发明实施例相交检测的方法示意图。如图2的左侧图所示,绘制区域A1(大的矩形区域)和绘制区域A2(小的矩形区域)相交,相交区域即为B3(实际上就是A2);此时,如图2的右侧图所示,可将A1和A2按照相交区域B3划分成B1、B2、B3、B4和B5。
6、遍历区域池,直到遍历完区域池的所有区域。
应理解,在相交检测中,绘制分区是一个较大的区域范围。当绘制命令的绘制区域在绘制分区覆盖的范围内,则称该绘制命令为该绘制分区内的绘制命令。
此外,两个绘制区域不相交,是指两个绘制区域之间没有重叠的区域。两个绘制命令不相交,则指两个绘制命令的绘制区域之间没有重叠的区域。类似地,多个绘制区域不相交,是指多个绘制区域之间没有重叠的区域;多个绘制命令不相交,则指多个绘制命令的绘制区域之间没有重叠的区域。
命令合并算法:
输入:一个绘制区域,内含一系列绘制命令
输出:一个绘制区域,内含一系列绘制命令
步骤:
1、将绘制区域中所有绘制命令按深度排序
2、从第二个命令开始,依次进行命令合成:
如果当前命令的标识符为等待(Wait),则不做处理;
如果当前命令标识符为覆盖(Opaque),则去除当前命令前面的所有命令;
如果当前命令标识符为混合(Blend),且前一个命令的标识符为Wait,则不做处理;
如果当前命令标识符为混合(Blend),且前一个命令的工作(Work)不能与当前命令的Work混合,则不处理;
如果当前命令标识符为混合(Blend),且前一个命令的标识符不为Wait,且前一个命令的Work能与当前命令的Work混合,则将当前命令与前一个命令合并为一个命令。
应理解,在绘制命令中,Work表示绘制命令的执行内容。例如,图像采样,等等。
图3是本发明实施例的发明原理示意图。如图3所示,本发明实施例的方法,可分为收集阶段和执行阶段。在收集阶段,收集应用输入在同一帧中的一组命令,汇集成一个原始命令队列;在执行阶段,通过过度绘制剔除引擎,将原始队列进行过度绘制剔除处理,形成一组新的命令,然后执行输出到显示设备。与延迟渲染相比,尽管均分为收集和执行两个过程,但存在如下区别:(1)每个命令除了渲染目标相同之外,其它资源均相互独立;(2)没有仅改变状态的指令,所有命令均会产生实际渲染效果,每个命令有自己独立的状态。
图4是本发明实施例一种图形处理方法示意图。图4的方法由图形处理装置执行。具体地,该图形处理装置可以是一个计算机系统,例如图形引擎等,或者是一个图形处理器,例如GPU芯片,等等。如图4所示,该方法包括:
S410,接收当前帧输入的命令队列。
其中,该命令队列包括多个绘制命令,每个该绘制命令都携带外包矩形信息、执行内容、绘制模式与绘制区域信息,该绘制模式包括覆盖模式、混合模式或等待模式。
绘制命令中,一般可包括外包矩形信息(Rect)、执行内容(Work)、绘制模式(Mode)和绘制区域(Shape)四类信息。
其中,Rect表示绘制命令所对应的的绘制区域的外包矩形信息,该绘制区域位于外包矩形内。优选地,绘制区域的外包矩形为;Work表示绘制命令的执行内容;Mode表示绘制命令的绘制模式,即绘制结果与画布上的混合模式,包括覆盖(Opaque)、混合(Blend)和等待(Wait)三类;Shape描述绘制命令的区域形状,如矩形/圆形/点/线等,绘制命令的区域形状,也就是绘制命令的绘制区域。
一个具体绘制命令实例,将一幅椭圆图像覆盖到[20,20]To[300,400]的区域上,椭圆参数方程为[((x-160)/140)]^2+[((y-210)/190)]^2=1。该绘制命令的内容可包括:
外包矩形:[20,20]To[300,300]
执行内容:图像采样
绘制模式:覆盖
区域形状:椭圆参数方程[((x-160)/140)]^2+[((y-210)/190)]^2=1
S420,根据外包矩形信息与绘制区域信息,将该多个绘制命令中的每一个不规则绘制命令拆分成至少一个第一类绘制命令和至少一个第二类绘制命令。
其中,该至少一个第一类绘制命令的绘制区域为该不规则绘制命令对应的绘制区域内的矩形,该至少一个第二类绘制命令的绘制区域为该不规则绘制命令对应的绘制区域去掉该至少一个第一类绘制命令的绘制区域后剩余的边角区域,该至少一个第一类绘制命令的绘制模式与该不规则绘制命令的绘制模式相同,该至少一个第二类绘制命令的绘制模式为等待模式。
应理解,本发明实施例中,规则形状是指与边界与显示桌面对应的边界平行的矩形。通常情况下,显示桌面的显示区域为一个矩形,假设为矩形ABCD。假设矩形EFGH位于矩形ABCD内,且边EF平行与边AB,边FG平行与边BC,则可以说矩形EFGH是一个规则形状的区域。
规则形状以外的所有形状,都称为不规则形状。绘制命令对应的绘制区域为规则形状的,可称为规则命令;绘制命令对应的绘制区域为不规则形状的,可称为不规则命令。
应理解,一个绘制命令拆分后,其绘制内容相应的会体现在拆分后的绘制命令中。例如。上述例子中,绘制命令的执行内容为图像采样,绘制命令拆分后,拆分后的绘制命令的执行内容也为图像采样,分别对各自的绘制区域进行图像采样。
本发明实施例中,对于规则命令,不需要进行命令拆分处理,对于不规则命令,则需要进行命令拆分处理。
可选地作为一个实施例,可将一个不规则绘制命令拆成一个第一类绘制命令和至少一个第二类绘制命令。一种具体的命令拆分方法如图5所示,可包括:
S421,根据该不规则绘制命令的外包矩形信息与绘制区域信息,获取该不规则绘制命令的最大内接矩形信息。
本发明实施例中,不规则绘制命令的最大内接矩形,是指不规则绘制命令对应的绘制区域的内接矩形中,面积最大的规则形状的矩形。规则形状的矩形,即前文所述的边界与显示桌面对应的边界平行的矩形。
下面以几种常见的不规则图形为例,求取其最大内接矩形。
图6是任意角度旋转的矩形中求取最大内接矩形的示意图。如图6所示,矩形ABCD为旋转矩形,矩形PSQR为旋转矩形ABCD的内接矩形。其中,旋转矩形ABCD的四个顶点中,A点坐标为(0,0),B点坐标为(x2,y2),C点坐标为(x1,y1),P为内接矩形PSQR与长边AC的交点,Q为内接矩形PSQR与长边BD的交点。不妨将AP/AC的值记为p,BQ/BD的值记为q,则可得到最大内接矩形的求解方程:
0.0≤p≤1.0;
0.0≤q≤1.0;
max:((2-q)x2+(1-p-q)x1)*((2-q)y2+(1-p-q)y1)。
图7是椭圆中求取最大内接矩形的示意图。如图7所示,不放假设椭圆的中心点为(x0,y0),椭圆参数方程为:[((x-x0)/a)]^2+[((y-y0)/b)]^2=1,内接矩形与椭圆交点的坐标(A、B、C或D)到椭圆中心点的距离为r,角度为p,列出矩形ABCD的参数方程:
(x-x0,y-y0)=(a*cos(p),b*sin(p));
其外接矩形为:(x0-a,y0-b)To(x0+a,y0+b);
根据p与面积的函数对p求导可知,当p等于45度时,取得最大内接矩形,可表示为:
(x0-a*cos(45°),y0-b*sin(45°))To(x0+a*cos(45°),y0+b*sin(45°))。
图8是三角形中求取最大内接矩形的示意图。如图8所示,矩形ABCD是三角形EFG的一个内接矩形。在三条行的每条边上分别求取每条上的最佳分割点,得到每条边上对应的内接矩形。例如,在EF边上取点A,再从点A引出两条线分别与显示桌面的边并行。引出的两条线分别与三角形EFG的边FG、EG相交与点B和C,从而确定矩形ABCD。不妨记EA/EF为p,则矩形ABCD的面积S可表示为包含p的一个参数表达式。当S的面积最大时,A点即为边EF的最佳分割点。类似地,可分别求取边FG、EG上的最佳分割点。三个边上的最佳分割点对应的矩形面积中最大的一个,即为三角形EFG所求的最大内接矩形。具体计算的方法,属于几何数学的范畴,本发明实施例在此不再赘述。
当然,还可能存在其它类型的不规则图形,求取该不规则图形的最大内接矩形的算法属于几何数学的范畴,本发明实施例在此不再赘述。
S422,利用该不规则绘制命令的外包矩形信息与最大内接矩形信息,将该不规则绘制命令拆分成一个第一类绘制命令和至少一个第二类绘制命令。
其中,该第一类绘制命令的区域为该不规则绘制命令的最大内接矩形,该至少一个第二类绘制命令的绘制区域为该不规则绘制命令的绘制区域除该最大内接矩形外的边角绘制区域。
例如,在图6、图7、图8所示的图形中,将其外包矩形分割为最大内接矩形和若干个不规则的边角区域。同时,对于最大内接矩形区域,其绘制模式保持不变,其余边角区域的绘制模式改为等待模式状态。
本发明实施例中,通过将绘制区域的形状为的三角形、旋转矩形或椭圆形的原始不规则命令按最大内接矩形拆分成一个规则绘制命令和若干个新的不规则绘制命令,拆分后的规则绘制命令在经过相交检测后得到若干个新的规则绘制命令,该若干个新的规则绘制命令中有可能会有一个或多个在命令合并操作中被合并,从而能够在一定程度上增加消除过度绘制的效果。
可选地,作为另一个实施例,可将一个不规则绘制命令拆成多个第一类绘制命令和多个第二类绘制命令。当该不规则绘制命令对应的绘制区域为不规则多边形时,步骤420具体可实现为:
将该不规则多边形的绘制区域切分成多个三角形的绘制区域,并根据该不规则多边形的切分方法将该不规则绘制命令拆分成多个第三类绘制命令,该多个第三类绘制命令与该多个三角形的绘制区域之间是一一对应关系;
针对每个第三类绘制命令,根据该第三类绘制命令的外包矩形信息与绘制区域信息,获取该第三类绘制命令的最大内接矩形信息;
利用该第三类绘制命令的外包矩形信息与最大内接矩形信息,将该第三类绘制命令拆分成一个该第一类绘制命令和至少一个该第二类绘制命令,其中,该第一类绘制命令对应的区域为该第三类绘制命令对应的最大内接矩形,该至少一个第二类绘制命令对应的绘制区域为该第三类绘制命令对应的绘制区域除该最大内接矩形外的边角区域。
本发明实施例中,通过将不规则多边形拆分成多个三角形,再针对每个三角形拆分成一个最大内接矩形和三个边角区域,并根据拆分后的区域将原始绘制命令拆分成多个规则绘制命令和多个新的不规则绘制命令,拆分后的规则绘制命令在经过相交检测后得到若干个新的规则绘制命令,该若干个新的规则绘制命令中有可能会有一个或多个在命令合并操作中被合并,从而能够在一定程度上增加消除过度绘制的效果。
S430,根据外包矩形信息和绘制区域信息,将该多个绘制命令中的规则绘制命令,以及该多个绘制命令中的不规则绘制命令经拆分后的该第一类绘制命令和该第二类绘制命令,分组成多个绘制命令集,使得属于不同绘制命令集的绘制命令互不相交。
经过步骤S420的命令拆分后,当前的命令队列中包括接收命令队列时就存在的规则绘制命令,以及不规则命令经拆分后的第一类绘制命令和第二类绘制命令。
根据各个绘制命令的外包矩形区域信息和绘制区域信息,可将当前的命令队列中的绘制区域划分成多个绘制分区,使得处于不同绘制分区的绘制区域互不相交,即不同绘制分区的绘制区域之间没有重叠的区域。然后,将每个绘制分区内的绘制命令组成一个绘制命令集,一个绘制分区对应于一个绘制命令集。
进行绘制命令分区后,整个桌面将划分成多个不同的绘制命令集。
通过对绘制命令按照绘制区域进行分区,使得每个绘制命令集内的绘制命令为有限个数,可以使得绘制命令集内的绘制命令进行相交检测的时间大幅缩小。
本发明实施例的一种方法,采用R+树算法,选择一个装填因子,每次装载有限条绘制命令,以将绘制命令分成若干个绘制命令集。
包括选择分裂线的Sweep算法和总体算法Pack
Sweep(axis,fill factor ff)
反复进行直到S’为空
由于命令分割时,会将命令的顺序打乱。因此,可给每个命令按照执行的先后顺序添加一个深度值,以便后续得知执行的先后顺序。
图9是本发明实施例显示空间的绘制命令对应的绘制区域示意图。其中,包括12个绘制命令,分别对应显示空间上的12个绘制区域。
以装填因子ff等于5为例,进行R+树算法的命令分组。
图10是本发明实施例显示空间采用R+算法进行一次划分后的绘制区域示意图。根据R+树算法穷举每个矩形的边界线,第一次划分如图10所示,划分出5个矩形(1,2.1,3,4,5.1),且划分矩形的面积最小。将矩形(1,2.1,3,4,5.1)纳入第一个叶节点。
图11是本发明实施例显示空间采用R+算法进行二次划分后的绘制区域示意图。根据R+树算法在剩下的区域中穷举每个矩形的边界线,第二次划分如图11所示,划分出5个矩形(2.2,6.1,7,9,10),且划分矩形的面积最小。将矩形(2.2,6.1,7,9,10)纳入第二个叶节点。
两次划分后剩余的矩形数已经不超过装填因子,因此剩余区域的矩形(5.2,8,11,12)直接建子节点。
图12是本发明实施例的R+树的节点示意图。经过R+树算法的两次划分,最终形成如图12所示的R+树图。图12中,R+树包括叶节点(1,2.1,3,4,5.1)、(2.2,6.1,7,9,10)和(5.2,8,11,12),每个叶节点表示一个绘制命令集。
本发明实施例中,通过采用R+树算法,能够快速地进行绘制命令分组,并使得分组后的每一个绘制命令集控制在一定的规模,从而减少相交检测的时间复杂度,极大程度上提高了图形处理装置的图形处理效率。
S440,根据外包矩形信息和绘制区域信息,对该多个绘制命令集分别进行相交检测,使得该多个绘制命令集中每一个绘制命令集内绘制命令互不相交。
划分完绘制命令集后,可分别对每个绘制命令集内的绘制命令进行相交检测,具体实现可参考现有技术,本发明实施例在此不再赘述。
S450,根据执行内容、绘制模式和绘制区域信息,对经过相交检测的该多个绘制命令集分别进行绘制命令合并。
经过相交检测的绘制命令集,可根据每一个绘制命令的执行内容、绘制模式和绘制区域信息,进行绘制命令合并,以剔除过度绘制部分。具体实现可参考现有技术,本发明实施例在此不再赘述。
S460,执行每个绘制分区经合并后的绘制命令。
具体地,在执行每个绘制分区的绘制命令时,可按照每个绘制命令的深度确定执行的顺序。
应理解,每个绘制分区最终的绘制命令,是指每个绘制分区经过相交检测与绘制命令合并后得到绘制命令。
本发明实施例中,通过将当前帧的命令队列中的不规则绘制命令按绘制区域拆分成规则绘制命令和不规则绘制命令,并将拆分前的规则绘制命令及拆分后的规则绘制命令和不规则绘制命令分组为多个互不相交的绘制命令集,再对每个绘制命令集分别进行相交检测和命令合并,由于将绘制命令分组成多个绘制命令集再进行相交检测能够大大减少相交检测的时间,并且由于将原始不规则绘制命令拆分成规则绘制命令和不规则绘制命令,拆分后的规则绘制命令在经过相交检测后得到若干个新的规则绘制命令,该若干个新的规则绘制命令中有可能会有一个或多个在命令合并操作中被合并,能够在一定程度上增加消除过度绘制的效果,从而能够提高图形处理的性能。
图13是本发明实施例图形处理方法中命令队列的演变示意图。具体演变流程如下:
第一步:输入命令队列。
在图4中,即为步骤S410,接收当前帧输入的命令队列。
第二步:命令拆分。
按照图4的步骤S420对输入的命令队列进行命令拆分,形成暂存命令队列。
第三步:命令分区。
按照图4的步骤S430对暂存命令队列进行命令分区,得到一系列的绘制分区,每个绘制分区中对应着绘制命令的一个子命令集。其中,不同子命令集内的绘制命令不相交。两个绘制命令不相交,是指两个绘制命令对应的绘制区域没有重叠的区域。
第四步:相交检测。
按照图4的步骤S440对每个子命令集进行相交检测。每一个子命令集进行相交检测后,会得到一系列不相交的绘制命令。应理解,相交检测后,同一个子命令集中任意两个绘制命令对应的绘制区域互不重叠。
第五步,命令合并。
按照图4的步骤S450对每个子命令集相交检测后得到的绘制命令进行命令合并,汇总形成一个新的命令队列。该命令队列即为输入命令队列。
本发明实施例中,通过将当前帧的命令队列中的不规则绘制命令按绘制区域拆分成规则绘制命令和不规则绘制命令,并将拆分前的规则绘制命令及拆分后的规则绘制命令和不规则绘制命令分组为多个互不相交的绘制命令集,再对每个绘制命令集分别进行相交检测和命令合并,由于将绘制命令分组成多个绘制命令集再进行相交检测能够大大减少相交检测的时间,并且由于将原始不规则绘制命令拆分成规则绘制命令和不规则绘制命令,拆分后的规则绘制命令在经过相交检测后得到若干个新的规则绘制命令,该若干个新的规则绘制命令中有可能会有一个或多个在命令合并操作中被合并,能够在一定程度上增加消除过度绘制的效果,从而能够提高图形处理的性能。
图14是本发明实施例图形处理装置1400的结构示意图。如图14所示,图形处理装置1400可包括:命令收集模块1401、命令拆分模块1402、命令分组模块1403、相交检测模块1404、命令合并模块1405和执行模块1406。其中,
命令收集模块1401,用于接收当前帧输入的命令队列。其中,该命令队列包括多个绘制命令,每个该绘制命令都携带外包矩形信息、执行内容、绘制模式与绘制区域信息,该绘制模式包括覆盖模式、混合模式或等待模式。
命令拆分模块1402,用于根据外包矩形信息与绘制区域信息,将该多个绘制命令中的每一个不规则绘制命令拆分成至少一个第一类绘制命令和至少一个第二类绘制命令。其中,该第一类绘制命令的绘制区域为该不规则绘制命令对应的绘制区域内的矩形,该至少一个第二类绘制命令的绘制区域为该不规则绘制命令对应的绘制区域去掉该至少一个第一类绘制命令的绘制区域后剩余的边角区域,该至少一个第一类绘制命令的绘制模式与该不规则绘制命令的绘制模式相同,该至少一个第二类绘制命令的绘制模式为等待模式。
命令分组模块1403,用于根据外包矩形信息和绘制区域信息,将该多个绘制命令中的规则绘制命令,以及该多个绘制命令中的不规则绘制命令经拆分后的该第一类绘制命令和该第二类绘制命令,分组成多个绘制命令集,使得属于不同绘制命令集的绘制命令互不相交。
相交检测模块1404,用于根据外包矩形信息和绘制区域信息,对该多个绘制命令集分别进行相交检测,使得该多个绘制命令集中每一个绘制命令集内绘制命令互不相交。
命令合并模块1405,用于根据执行内容、绘制模式和绘制区域信息,对经过相交检测的该多个绘制命令集分别进行绘制命令合并。
执行模块1406,用于执行每个绘制命令集经合并后的绘制命令。
本发明实施例中,图形处理装置1400通过将当前帧的命令队列中的不规则绘制命令按绘制区域拆分成规则绘制命令和不规则绘制命令,并将拆分前的规则绘制命令及拆分后的规则绘制命令和不规则绘制命令分组为多个互不相交的绘制命令集,再对每个绘制命令集分别进行相交检测和命令合并,由于将绘制命令分组成多个绘制命令集再进行相交检测能够大大减少相交检测的时间,并且由于将原始不规则绘制命令拆分成规则绘制命令和不规则绘制命令,拆分后的规则绘制命令在经过相交检测后得到若干个新的规则绘制命令,该若干个新的规则绘制命令中有可能会有一个或多个在命令合并操作中被合并,能够在一定程度上增加消除过度绘制的效果,从而能够提高图形处理的性能。
可选地,作为一个实施例,该命令拆分模块1402具体用于:
根据该不规则绘制命令的外包矩形信息与绘制区域信息,获取该不规则绘制命令的最大内接矩形信息;
利用该不规则绘制命令的外包矩形信息与最大内接矩形信息,将该不规则绘制命令拆分成一个该第一类绘制命令和至少一个该第二类绘制命令,其中,该第一类绘制命令对应的区域为该不规则绘制命令对应的最大内接矩形,该至少一个第二类绘制命令对应的绘制区域为该不规则绘制命令对应的绘制区域除该最大内接矩形外的边角区域。
本发明实施例中,图形处理装置1400通过将绘制区域的形状为的三角形、旋转矩形或椭圆形的原始不规则命令按最大内接矩形拆分成一个规则绘制命令和若干个新的不规则绘制命令,拆分后的规则绘制命令在经过相交检测后得到若干个新的规则绘制命令,该若干个新的规则绘制命令中有可能会有一个或多个在命令合并操作中被合并,从而能够在一定程度上增加消除过度绘制的效果。
可选地,作为另一个实施例,该命令拆分模块1402具体用于:
当该不规则绘制命令对应的绘制区域为不规则多边形时,将该不规则多边形的绘制区域切分成多个三角形的绘制区域,并根据该不规则多边形的切分方法将该不规则绘制命令拆分成多个第三类绘制命令,该多个第三类绘制命令与该多个三角形的绘制区域之间是一一对应关系;
针对每个第三类绘制命令,根据该第三类绘制命令的外包矩形信息与绘制区域信息,获取该第三类绘制命令的最大内接矩形信息;
利用该第三类绘制命令的外包矩形信息与最大内接矩形信息,将该第三类绘制命令拆分成一个该第一类绘制命令和至少一个该第二类绘制命令,其中,该第一类绘制命令对应的区域为该第三类绘制命令对应的最大内接矩形,该至少一个第二类绘制命令对应的绘制区域为该第三类绘制命令对应的绘制区域除该最大内接矩形外的边角区域。
本发明实施例中,图形处理装置1400通过将不规则多边形拆分成多个三角形,再针对每个三角形拆分成一个最大内接矩形和三个边角区域,并根据拆分后的区域将原始绘制命令拆分成多个规则绘制命令和多个新的不规则绘制命令,拆分后的规则绘制命令在经过相交检测后得到若干个新的规则绘制命令,该若干个新的规则绘制命令中有可能会有一个或多个在命令合并操作中被合并,从而能够在一定程度上增加消除过度绘制的效果。
可选地,命令分组模块1403具体用于通过采用R+树算法,根据外包矩形信息和绘制区域信息,将该多个绘制命令中的规则绘制命令,以及该多个绘制命令中的不规则绘制命令经拆分后的该第一类绘制命令和该第二类绘制命令,分组成多个绘制命令集,使得属于不同绘制命令集的绘制命令互不相交。
本发明实施例中,图形处理装置1400通过采用R+树算法,能够快速地进行绘制命令分组,并使得分组后的每一个绘制命令集控制在一定的规模,从而减少相交检测的时间复杂度,极大程度上提高了图形处理装置的图形处理效率。
此外,图形处理装置1400还可执行图4、图13的方法,并实现图形处理装置在图4、图13所示实施例中的功能,本发明实施例在此不再赘述。
在上述图形处理装置的多个实施例中,应当理解的是,在一种实现方式下,命令收集模块可以是由通信接口来实现,命令拆分模块、命令分组模块、相交检测模块、命令合并模块、执行模块可以是可以由处理器执行存储器中的程序或指令来实现的(换言之,即由处理器以及与所述处理器耦合的存储器中的特殊指令相互配合来实现);在另一种实现方式下,命令收集模块、命令拆分模块、命令分组模块、相交检测模块、命令合并模块和执行模块也可以分别通过专用集成电路(Application Specific Integrated Circuit,ASIC)来实现,具体实现方式参见现有技术,这里不再赘述;本发明包括但不限于前述实现方式,应当理解的是,只要按照本发明的思想实现的方案,都落入本发明实施例所保护的范围。
本发明实施例图形处理装置的一种具体应用方法如图15所示。图15是本发明实施例的图形处理的具体流程示意图。在图15中,应用程序是一个面向用户的产品,需要具备图形处理能力的实体支撑运行。具体地,该应用程序可以是网络游戏、CAD制图工具等等。图形处理装置1400可以对应于图15所示的图形引擎、处理器驱动和处理器的软硬件结合的实现方式(应当理解的是:这里的图形引擎和处理器驱动可以理解为内存中存放的程序或指令)。具体的,应用程序输出的绘制命令经过图形引擎处理后得到一系列新的绘制命令,图形引擎将处理后的一系列新的绘制命令通过处理器驱动发给对应的处理器(例如图形引擎将处理后的一系列新的绘制命令通过数字信号处理(Digital Signal Processing,DSP)驱动(Driver)发给DSP,或通过CPU驱动发给CPU,或通过GPU驱动发给GPU),然后由处理器(例如DSP、CPU或GPU)执行,将最终的渲染结果输出到显示设备(例如图16中的显示单元)中。
本发明的上述实施例中的图形处理装置1400可以用硬件、软件或软硬件结合的形式实现,具体地,可实现为一个或多个计算机系统或其它处理系统。
下面结合图16对图形处理装置的一种示例的实现方式进行介绍,为了便于描述,如下实施例的图形处理装置统称为计算机系统:
图16是本发明实施例计算机系统1600的结构示意图。本发明的一个实施例如图16所示,计算机系统1600可包括处理器1602、存储器1604、通信接口1601和显示接口1603。
处理器1602、存储器1604、通信接口1601和显示接口1603通过通信架构1606互相连接。其中,该通信架构1606可以是总线或网络等。具体地,当通信架构1606为总线时,所述总线可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。当通信架构1606为网络时,该网络可以是有线网络,例如光纤网络、电话线路等,或无线网络例如小区连接、射频连接或其它通信通道。
显示接口1603可以连接到显示单元1605。显示单元1605包括显示器(例如,触摸屏、LCD、CRT、全息成像(Holographic)或者投影(Projector)等)。显示接口1603用于将计算机系统1600的显示数据输出到计算机系统1600所连接的显示单元1605,通过显示单元1605显示。具体地,存储器1603中还可包括帧缓冲区,计算机系统1600在帧缓冲区进行处理显示数据,处理完毕后通过显示接口1603将帧缓冲区的数据输出到显示单元1605。该显示单元1605可用于显示由用户输入的信息或提供给用户的信息以及图形处理装置所在的设备(例如,移动终端、计算机、智能机顶盒、智能一体机,等等)中的各种菜单界面。该显示单元1605可包括显示面板,可选的,可以采用LCD(Liquid Crystal Display,液晶显示器)或OLED(OrganicLight-Emitting Diode,有机发光二极管)等形式来配置显示面板。可选地,该显示单元1605还可包括触控面板,该触控面板覆盖在该显示面板上,形成触摸显示屏。
通信接口1601,用于实现计算机系统1600与计算机系统1600外部的设备之间的通信。通信接口1601可将计算机系统1600的数据转换为信号1607,经由通信路径1608发出,或接收来自通信路径1608的信号1607并转换为数据。具体地,该通信接口1601可以是调制解调器、网络接口(例如,以太网接口)、通信端口、PCMCIA扩展槽、PCMCIA扩展卡等等。信号1607可以是光信号、电信号或其它形式的信号。通信路径1608,可以是光纤网络、电话线路、小区连接、射频连接或其它通信通道。
存储器1604,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器1604可以包括只读存储器和随机存取存储器,并向处理器1602提供指令和数据。存储器1604可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
处理器1602,执行存储器1604所存放的程序,并具体用于执行以下操作:
接收当前帧输入的命令队列,该命令队列包括多个绘制命令,每个该绘制命令都携带外包矩形信息、执行内容、绘制模式与绘制区域信息,该绘制模式包括覆盖模式、混合模式或等待模式;
根据外包矩形信息与绘制区域信息,将该多个绘制命令中的每一个不规则绘制命令拆分成至少一个第一类绘制命令和至少一个第二类绘制命令,其中,该第一类绘制命令的绘制区域为该不规则绘制命令对应的绘制区域内的矩形,该至少一个第二类绘制命令的绘制区域为该不规则绘制命令对应的绘制区域去掉该至少一个第一类绘制命令的绘制区域后剩余的边角区域,该至少一个第一类绘制命令的绘制模式与该不规则绘制命令的绘制模式相同,该至少一个第二类绘制命令的绘制模式为等待模式;
根据外包矩形信息和绘制区域信息,将该多个绘制命令中的规则绘制命令,以及该多个绘制命令中的不规则绘制命令经拆分后的该第一类绘制命令和该第二类绘制命令,分组成多个绘制命令集,使得属于不同绘制命令集的绘制命令互不相交;
根据外包矩形信息和绘制区域信息,对该多个绘制命令集分别进行相交检测,使得该多个绘制命令集中每一个绘制命令集内绘制命令互不相交;
根据执行内容、绘制模式和绘制区域信息,对经过相交检测的该多个绘制命令集分别进行绘制命令合并;
执行每个绘制命令集经合并后的绘制命令。
上述如本发明图4或图13中任一实施例揭示的图形处理装置执行的方法可以应用于处理器1602中,或者由处理器1602实现。本发明实施例中,计算机系统1600可包括一个或多个处理器1602。处理器1602可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器1602中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1602可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,或者是专用处理器,例如图形处理器(Graphic Processing Unit,简称PPU)。处理器1602可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1603,处理器1602读取存储器1604中的信息,结合其硬件完成上述方法的步骤。
本发明实施例中,图形处理装置1600通过将当前帧的命令队列中的不规则绘制命令按绘制区域拆分成规则绘制命令和不规则绘制命令,并将拆分前的规则绘制命令及拆分后的规则绘制命令和不规则绘制命令分组为多个互不相交的绘制命令集,再对每个绘制命令集分别进行相交检测和命令合并,由于将绘制命令分组成多个绘制命令集再进行相交检测能够大大减少相交检测的时间,并且由于将原始不规则绘制命令拆分成规则绘制命令和不规则绘制命令,拆分后的规则绘制命令在经过相交检测后得到若干个新的规则绘制命令,该若干个新的规则绘制命令中有可能会有一个或多个在命令合并操作中被合并,能够在一定程度上增加消除过度绘制的效果,从而能够提高图形处理的性能。
可选地,作为一个实施例,在用于根据外包矩形信息与绘制区域信息,将该多个绘制命令中的每一个不规则绘制命令拆分成至少一个第一类绘制命令和至少一个第二类绘制命令的过程中,处理器1602具体用于:
根据该不规则绘制命令的外包矩形信息与绘制区域信息,获取该不规则绘制命令的最大内接矩形信息;
利用该不规则绘制命令的外包矩形信息与最大内接矩形信息,将该不规则绘制命令拆分成一个该第一类绘制命令和至少一个该第二类绘制命令,其中,该第一类绘制命令对应的区域为该不规则绘制命令对应的最大内接矩形,该至少一个第二类绘制命令对应的绘制区域为该不规则绘制命令对应的绘制区域除该最大内接矩形外的边角区域。
本发明实施例中,计算机系统1600通过将绘制区域的形状为的三角形、旋转矩形或椭圆形的原始不规则命令按最大内接矩形拆分成一个规则绘制命令和若干个新的不规则绘制命令,拆分后的规则绘制命令在经过相交检测后得到若干个新的规则绘制命令,该若干个新的规则绘制命令中有可能会有一个或多个在命令合并操作中被合并,从而能够在一定程度上增加消除过度绘制的效果。
可选地,作为另一个实施例,在用于根据外包矩形信息与绘制区域信息,将该多个绘制命令中的每一个不规则绘制命令拆分成至少一个第一类绘制命令和至少一个第二类绘制命令的过程中,处理器1602具体用于:
当该不规则绘制命令对应的绘制区域为不规则多边形时,将该不规则多边形的绘制区域切分成多个三角形的绘制区域,并根据该不规则多边形的切分方法将该不规则绘制命令拆分成多个第三类绘制命令,该多个第三类绘制命令与该多个三角形的绘制区域之间是一一对应关系;
针对每个第三类绘制命令,根据该第三类绘制命令的外包矩形信息与绘制区域信息,获取该第三类绘制命令的最大内接矩形信息;
利用该第三类绘制命令的外包矩形信息与最大内接矩形信息,将该第三类绘制命令拆分成一个该第一类绘制命令和至少一个该第二类绘制命令,其中,该第一类绘制命令对应的区域为该第三类绘制命令对应的最大内接矩形,该至少一个第二类绘制命令对应的绘制区域为该第三类绘制命令对应的绘制区域除该最大内接矩形外的边角区域。
本发明实施例中,计算机系统1600通过将不规则多边形拆分成多个三角形,再针对每个三角形拆分成一个最大内接矩形和三个边角区域,并根据拆分后的区域将原始绘制命令拆分成多个规则绘制命令和多个新的不规则绘制命令,拆分后的规则绘制命令在经过相交检测后得到若干个新的规则绘制命令,该若干个新的规则绘制命令中有可能会有一个或多个在命令合并操作中被合并,从而能够在一定程度上增加消除过度绘制的效果。
可选地,处理器1602具体用于:通过采用R+树算法,根据外包矩形信息和绘制区域信息,将该多个绘制命令中的规则绘制命令,以及该多个绘制命令中的不规则绘制命令经拆分后的该第一类绘制命令和该第二类绘制命令,分组成多个绘制命令集,使得属于不同绘制命令集的绘制命令互不相交。
本发明实施例中,计算机系统1600通过采用R+树算法,能够快速地进行绘制命令分组,并使得分组后的每一个绘制命令集控制在一定的规模,从而减少相交检测的时间复杂度,极大程度上提高了图形处理装置的图形处理效率。
此外,计算机系统1600还可执行图4、图13的方法,并实现图形处理装置在图4、图13所示实施例中的功能,本发明实施例在此不再赘述。
图17是本发明实施例的另一种图形处理方法示意图。图17的方法由图形处理装置执行。具体地,该图形处理装置可以是一个计算机系统,例如图形引擎等,或者是一个图形处理器,例如GPU芯片,等等。如图17所示,该方法包括:
S1710,接收当前帧输入的命令队列。
其中,该命令队列包括多个应用程序编程接口(Application ProgrammingInterface,API)命令。
S1720,将该多个API命令转换为多个绘制命令。
其中,每个该绘制命令都携带外包矩形信息、执行内容、绘制模式与绘制区域信息,该绘制模式包括覆盖模式、混合模式或等待模式。
在具体的应用中,可对Android终端中的Skia模块进行改造,新建一个延迟渲染功能的类(SkDeferredMultiCanvas类),并新建一个命令解析模块SkCommand,将Skia的绘制API转换为过度绘制剔除引擎可识别的命令。
S1730,根据外包矩形信息与绘制区域信息,将该多个绘制命令中的每一个不规则绘制命令拆分成至少一个第一类绘制命令和至少一个第二类绘制命令。
其中,该第一类绘制命令的绘制区域为该不规则绘制命令对应的绘制区域内的矩形,该至少一个第二类绘制命令的绘制区域为该不规则绘制命令对应的绘制区域去掉该至少一个第一类绘制命令的绘制区域后剩余的边角区域,该至少一个第一类绘制命令的绘制模式与该不规则绘制命令的绘制模式相同,该至少一个第二类绘制命令的绘制模式为等待模式
步骤S1730的具体实现可参考步骤S420所示实施例及图5。
S1740,根据外包矩形信息和绘制区域信息,将该多个绘制命令中的规则绘制命令,以及该多个绘制命令中的不规则绘制命令经拆分后的该第一类绘制命令和该第二类绘制命令,分组成多个绘制命令集,使得属于不同绘制命令集的绘制命令互不相交。
步骤S1740的具体实现可参考步骤230所示实施例。
S1750,根据外包矩形信息和绘制区域信息,对该多个绘制命令集分别进行相交检测,使得该多个绘制命令集中每一个绘制命令集内绘制命令互不相交。
S1760,根据执行内容、绘制模式和绘制区域信息,对经过相交检测的该多个绘制命令集分别进行绘制命令合并。
步骤S1750和S1760的具体实现可参考现有技术,本发明实施例在此不再赘述。
S1770,执行每个绘制命令集经合并后的绘制命令。
在渲染调用API时,先被命令解析模块解析成命令放入命令队列,在需要在屏幕上显示时,调用过度绘制剔除引擎处理命令队列,裁剪渲染任务,然后执行命令,调用真正执行绘制的SkCanvas。
修改Android Framework层,调用新的SkDeferredMultiCanvas替代原先的SkCanvas进行绘制。
本发明实施例中,通过将当前帧的命令队列中的多个API命令转换为多个绘制命令,再将多个绘制命令中的不规则绘制命令按绘制区域拆分成规则绘制命令和不规则绘制命令,并将拆分前的规则绘制命令及拆分后的规则绘制命令和不规则绘制命令分组为多个互不相交的绘制命令集,再对每个绘制命令集分别进行相交检测和命令合并,由于将绘制命令分组成多个绘制命令集再进行相交检测能够大大减少相交检测的时间,并且由于将原始不规则绘制命令拆分成规则绘制命令和不规则绘制命令,拆分后的规则绘制命令在经过相交检测后得到若干个新的规则绘制命令,该若干个新的规则绘制命令中有可能会有一个或多个在命令合并操作中被合并,能够在一定程度上增加消除过度绘制的效果,从而能够提高图形处理的性能。
可选地,作为一个实施例,步骤S1730具体实现为:
根据该不规则绘制命令的外包矩形信息与绘制区域信息,获取该不规则绘制命令的最大内接矩形信息;
利用该不规则绘制命令的外包矩形信息与最大内接矩形信息,将该不规则绘制命令拆分成一个该第一类绘制命令和至少一个该第二类绘制命令,其中,该第一类绘制命令对应的区域为该不规则绘制命令对应的最大内接矩形,该至少一个第二类绘制命令对应的绘制区域为该不规则绘制命令对应的绘制区域除该最大内接矩形外的边角区域。
本发明实施例中,通过将绘制区域的形状为的三角形、旋转矩形或椭圆形的原始不规则命令按最大内接矩形拆分成一个规则绘制命令和若干个新的不规则绘制命令,拆分后的规则绘制命令在经过相交检测后得到若干个新的规则绘制命令,该若干个新的规则绘制命令中有可能会有一个或多个在命令合并操作中被合并,从而能够在一定程度上增加消除过度绘制的效果。
可选地,作为另一个实施例,步骤S1730具体实现为:
当该不规则绘制命令对应的绘制区域为不规则多边形时,将该不规则多边形的绘制区域切分成多个三角形的绘制区域,并根据该不规则多边形的切分方法将该不规则绘制命令拆分成多个第三类绘制命令,该多个第三类绘制命令与该多个三角形的绘制区域之间是一一对应关系;
针对每个第三类绘制命令,根据该第三类绘制命令的外包矩形信息与绘制区域信息,获取该第三类绘制命令的最大内接矩形信息;
利用该第三类绘制命令的外包矩形信息与最大内接矩形信息,将该第三类绘制命令拆分成一个该第一类绘制命令和至少一个该第二类绘制命令,其中,该第一类绘制命令对应的区域为该第三类绘制命令对应的最大内接矩形,该至少一个第二类绘制命令对应的绘制区域为该第三类绘制命令对应的绘制区域除该最大内接矩形外的边角区域。
本发明实施例中,通过将不规则多边形拆分成多个三角形,再针对每个三角形拆分成一个最大内接矩形和三个边角区域,并根据拆分后的区域将原始绘制命令拆分成多个规则绘制命令和多个新的不规则绘制命令,拆分后的规则绘制命令在经过相交检测后得到若干个新的规则绘制命令,该若干个新的规则绘制命令中有可能会有一个或多个在命令合并操作中被合并,从而能够在一定程度上增加消除过度绘制的效果。
可选地,步骤S1740具体实现为:通过采用R+树算法,根据外包矩形信息和绘制区域信息,将该多个绘制命令中的规则绘制命令,以及该多个绘制命令中的不规则绘制命令经拆分后的该第一类绘制命令和该第二类绘制命令,分组成多个绘制命令集,使得属于不同绘制命令集的绘制命令互不相交。
本发明实施例中,通过采用R+树算法,能够快速地进行绘制命令分组,并使得分组后的每一个绘制命令集控制在一定的规模,从而减少相交检测的时间复杂度,极大程度上提高了图形处理装置的图形处理效率。
图18是本发明实施例图形处理装置1800的结构示意图。如图18所示,图形处理装置1800可包括:命令收集模块1801、命令转换模块1802、命令拆分模块1803、命令分组模块1804、相交检测模块1805、命令合并模块1806和执行模块1807。其中,
命令收集模块1801,用于接收当前帧输入的命令队列,该命令队列包括多个API命令。
命令转换模块1802,用于将该多个API命令转换为多个绘制命令,每个该绘制命令都携带外包矩形信息、执行内容、绘制模式与绘制区域信息,该绘制模式包括覆盖模式、混合模式或等待模式。
命令拆分模块1803,用于根据外包矩形信息与绘制区域信息,将该多个绘制命令中的每一个不规则绘制命令拆分成至少一个第一类绘制命令和至少一个第二类绘制命令。其中,该第一类绘制命令的绘制区域为该不规则绘制命令对应的绘制区域内的矩形,该至少一个第二类绘制命令的绘制区域为该不规则绘制命令对应的绘制区域去掉该至少一个第一类绘制命令的绘制区域后剩余的边角区域,该至少一个第一类绘制命令的绘制模式与该不规则绘制命令的绘制模式相同,该至少一个第二类绘制命令的绘制模式为等待模式。
命令分组模块1804,用于根据外包矩形信息和绘制区域信息,将该多个绘制命令中的规则绘制命令,以及该多个绘制命令中的不规则绘制命令经拆分后的该第一类绘制命令和该第二类绘制命令,分组成多个绘制命令集,使得属于不同绘制命令集的绘制命令互不相交。
相交检测模块1805,用于根据外包矩形信息和绘制区域信息,对该多个绘制命令集分别进行相交检测,使得该多个绘制命令集中每一个绘制命令集内绘制命令互不相交。
命令合并模块1806,用于根据执行内容、绘制模式和绘制区域信息,对经过相交检测的该多个绘制命令集分别进行绘制命令合并。
执行模块1807,用于执行每个绘制命令集经合并后的绘制命令。
本发明实施例中,图形处理装置1800通过将当前帧的命令队列中的多个API命令转换为多个绘制命令,再将多个绘制命令中的不规则绘制命令按绘制区域拆分成规则绘制命令和不规则绘制命令,并将拆分前的规则绘制命令及拆分后的规则绘制命令和不规则绘制命令分组为多个互不相交的绘制命令集,再对每个绘制命令集分别进行相交检测和命令合并,由于将绘制命令分组成多个绘制命令集再进行相交检测能够大大减少相交检测的时间,并且由于将原始不规则绘制命令拆分成规则绘制命令和不规则绘制命令,拆分后的规则绘制命令在经过相交检测后得到若干个新的规则绘制命令,该若干个新的规则绘制命令中有可能会有一个或多个在命令合并操作中被合并,能够在一定程度上增加消除过度绘制的效果,从而能够提高图形处理的性能。
可选地,作为一个实施例,该命令拆分模块1803具体用于:
根据该不规则绘制命令的外包矩形信息与绘制区域信息,获取该不规则绘制命令的最大内接矩形信息。
利用该不规则绘制命令的外包矩形信息与最大内接矩形信息,将该不规则绘制命令拆分成一个该第一类绘制命令和至少一个该第二类绘制命令,其中,该第一类绘制命令对应的区域为该不规则绘制命令对应的最大内接矩形,该至少一个第二类绘制命令对应的绘制区域为该不规则绘制命令对应的绘制区域除该最大内接矩形外的边角区域。
本发明实施例中,图形处理装置1800通过将绘制区域的形状为的三角形、旋转矩形或椭圆形的原始不规则命令按最大内接矩形拆分成一个规则绘制命令和若干个新的不规则绘制命令,拆分后的规则绘制命令在经过相交检测后得到若干个新的规则绘制命令,该若干个新的规则绘制命令中有可能会有一个或多个在命令合并操作中被合并,从而能够在一定程度上增加消除过度绘制的效果。
可选地,作为另一个实施例,该命令拆分模块1803具体用于:
当该不规则绘制命令对应的绘制区域为不规则多边形时,将该不规则多边形的绘制区域切分成多个三角形的绘制区域,并根据该不规则多边形的切分方法将该不规则绘制命令拆分成多个第三类绘制命令,该多个第三类绘制命令与该多个三角形的绘制区域之间是一一对应关系。
针对每个第三类绘制命令,根据该第三类绘制命令的外包矩形信息与绘制区域信息,获取该第三类绘制命令的最大内接矩形信息。
利用该第三类绘制命令的外包矩形信息与最大内接矩形信息,将该第三类绘制命令拆分成一个该第一类绘制命令和至少一个该第二类绘制命令,其中,该第一类绘制命令对应的区域为该第三类绘制命令对应的最大内接矩形,该至少一个第二类绘制命令对应的绘制区域为该第三类绘制命令对应的绘制区域除该最大内接矩形外的边角区域。
本发明实施例中,图形处理装置1800通过将不规则多边形拆分成多个三角形,再针对每个三角形拆分成一个最大内接矩形和三个边角区域,并根据拆分后的区域将原始绘制命令拆分成多个规则绘制命令和多个新的不规则绘制命令,拆分后的规则绘制命令在经过相交检测后得到若干个新的规则绘制命令,该若干个新的规则绘制命令中有可能会有一个或多个在命令合并操作中被合并,从而能够在一定程度上增加消除过度绘制的效果。
可选地,命令分组模块1804具体用于通过采用R+树算法,根据外包矩形信息和绘制区域信息,将该多个绘制命令中的规则绘制命令,以及该多个绘制命令中的不规则绘制命令经拆分后的该第一类绘制命令和该第二类绘制命令,分组成多个绘制命令集,使得属于不同绘制命令集的绘制命令互不相交。
本发明实施例中,图形处理装置1800通过采用R+树算法,能够快速地进行绘制命令分组,并使得分组后的每一个绘制命令集控制在一定的规模,从而减少相交检测的时间复杂度,极大程度上提高了图形处理装置的图形处理效率。
此外,图形处理装置1800还可执行图17的方法,并实现图形处理装置在图17所示实施例中的功能,本发明实施例在此不再赘述。
在上述图形处理装置的多个实施例中,应当理解的是,在一种实现方式下,命令收集模块可以是由通信接口来实现,命令拆分模块、命令分组模块、相交检测模块、命令合并模块、执行模块可以是可以由处理器执行存储器中的程序或指令来实现的(换言之,即由处理器以及与所述处理器耦合的存储器中的特殊指令相互配合来实现);在另一种实现方式下,命令收集模块、命令拆分模块、命令分组模块、相交检测模块、命令合并模块和执行模块也可以分别通过专用集成电路(Application Specific Integrated Circuit,ASIC)来实现,具体实现方式参见现有技术,这里不再赘述;本发明包括但不限于前述实现方式,应当理解的是,只要按照本发明的思想实现的方案,都落入本发明实施例所保护的范围。
本发明实施例图形处理装置的一种具体应用方法如图19所示。图19是本发明实施例的图形处理的具体流程示意图。在图19中,应用程序是一个面向用户的产品,需要具备图形处理能力的实体支撑运行。具体地,该应用程序可以是网络游戏、CAD制图工具等等。图形处理装置1800可以对应于图19所示的图形引擎、处理器驱动和处理器的软硬件结合的实现方式(应当理解的是:这里的图形引擎和处理器驱动可以理解为内存中存放的程序或指令)。具体的,应用程序输出的绘制命令经过图形引擎处理后得到一系列新的绘制命令,图形引擎将处理后的一系列新的绘制命令通过处理器驱动发给对应的处理器(例如图形引擎将处理后的一系列新的绘制命令通过数字信号处理(Digital Signal Processing,DSP)驱动(Driver)发给DSP,或通过CPU驱动发给CPU,或通过GPU驱动发给GPU),然后由处理器(例如DSP、CPU或GPU)执行,将最终的渲染结果输出到显示设备(例如图20中的显示单元)中。
下面结合图20对图形处理装置的一种示例的实现方式进行介绍,为了便于描述,如下实施例的图形处理装置统称为计算机系统:
图20是本发明实施例计算机系统2000的结构示意图。本发明的一个实施例如图20所示,计算机系统2000可包括处理器2002、存储器2004、通信接口2001和显示接口2003。
处理器2002、存储器2004、通信接口2001和显示接口2003通过通信架构2006互相连接。其中,该通信架构2006可以是总线或网络等。具体地,当通信架构2006为总线时,所述总线可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。当通信架构2006为网络时,该网络可以是有线网络,例如光纤网络、电话线路等,或无线网络例如小区连接、射频连接或其它通信通道。
显示接口2003可以连接到显示单元2005。显示单元2005包括显示器(例如,触摸屏、LCD、CRT、全息成像(Holographic)或者投影(Projector)等)。显示接口2003用于将计算机系统2000的显示数据输出到显示单元2005,通过显示单元2005显示。具体地,存储器2003中还可包括帧缓冲区,计算机系统2000在帧缓冲区进行处理显示数据,处理完毕后通过显示接口2003将帧缓冲区的数据输出到显示单元2005。该显示单元2005可用于显示由用户输入的信息或提供给用户的信息以及图形处理装置所在的设备(例如,移动终端、计算机、智能机顶盒、智能一体机,等等)中的各种菜单界面。该显示单元2005可包括显示面板,可选的,可以采用LCD(Liquid CrystalDisplay,液晶显示器)或OLED(Organic Light-Emitting Diode,有机发光二极管)等形式来配置显示面板。可选地,该显示单元2005还可包括触控面板,该触控面板覆盖在该显示面板上,形成触摸显示屏。
通信接口2001,用于实现计算机系统2000与计算机系统2000外部的设备之间的通信。通信接口2001可将计算机系统2000的数据转换为信号2007,经由通信路径2008发出,或接收来自通信路径2008的信号2007并转换为数据。具体地,该通信接口2001可以是调制解调器、网络接口(例如,以太网接口)、通信端口、PCMCIA扩展槽、PCMCIA扩展卡等等。信号2007可以是光信号、电信号或其它形式的信号。通信路径2008,可以是光纤网络、电话线路、小区连接、射频连接或其它通信通道。
存储器2004,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器2004可以包括只读存储器和随机存取存储器,并向处理器2002提供指令和数据。存储器2004可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
处理器2002,执行存储器2004所存放的程序,并具体用于执行以下操作:
接收当前帧输入的命令队列,该命令队列包括多个应用程序编程接口API命令;
将该多个API命令转换为多个绘制命令,每个该绘制命令都携带外包矩形信息、执行内容、绘制模式与绘制区域信息,该绘制模式包括覆盖模式、混合模式或等待模式;
根据外包矩形信息与绘制区域信息,将该多个绘制命令中的每一个不规则绘制命令拆分成至少一个第一类绘制命令和至少一个第二类绘制命令,其中,该第一类绘制命令的绘制区域为该不规则绘制命令对应的绘制区域内的矩形,该至少一个第二类绘制命令的绘制区域为该不规则绘制命令对应的绘制区域去掉该至少一个第一类绘制命令的绘制区域后剩余的边角区域,该至少一个第一类绘制命令的绘制模式与该不规则绘制命令的绘制模式相同,该至少一个第二类绘制命令的绘制模式为等待模式;
根据外包矩形信息和绘制区域信息,将该多个绘制命令中的规则绘制命令,以及该多个绘制命令中的不规则绘制命令经拆分后的该第一类绘制命令和该第二类绘制命令,分组成多个绘制命令集,使得属于不同绘制命令集的绘制命令互不相交;
根据外包矩形信息和绘制区域信息,对该多个绘制命令集分别进行相交检测,使得该多个绘制命令集中每一个绘制命令集内绘制命令互不相交;
根据执行内容、绘制模式和绘制区域信息,对经过相交检测的该多个绘制命令集分别进行绘制命令合并;
执行每个绘制命令集经合并后的绘制命令。
上述如本发明图17中任一实施例揭示的图形处理装置执行的方法可以应用于处理器2002中,或者由处理器2002实现。本发明实施例中,计算机系统2000可包括一个或多个处理器2002。处理器2002可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器2002中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器2002可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,或者是专用处理器,例如图形处理器(Graphic Processing Unit,简称PPU)。处理器2002可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器2003,处理器2002读取存储器2004中的信息,结合其硬件完成上述方法的步骤。
本发明实施例中,计算机系统2000通过将当前帧的命令队列中的多个API命令转换为多个绘制命令,再将多个绘制命令中的不规则绘制命令按绘制区域拆分成规则绘制命令和不规则绘制命令,并将拆分前的规则绘制命令及拆分后的规则绘制命令和不规则绘制命令分组为多个互不相交的绘制命令集,再对每个绘制命令集分别进行相交检测和命令合并,由于将绘制命令分组成多个绘制命令集再进行相交检测能够大大减少相交检测的时间,并且由于将原始不规则绘制命令拆分成规则绘制命令和不规则绘制命令,拆分后的规则绘制命令在经过相交检测后得到若干个新的规则绘制命令,该若干个新的规则绘制命令中有可能会有一个或多个在命令合并操作中被合并,能够在一定程度上增加消除过度绘制的效果,从而能够提高图形处理的性能。
可选地,作为一个实施例,在用于根据外包矩形信息与绘制区域信息,将该多个绘制命令中的每一个不规则绘制命令拆分成至少一个第一类绘制命令和至少一个第二类绘制命令的过程中,处理器2002具体用于:
根据该不规则绘制命令的外包矩形信息与绘制区域信息,获取该不规则绘制命令的最大内接矩形信息;
利用该不规则绘制命令的外包矩形信息与最大内接矩形信息,将该不规则绘制命令拆分成一个该第一类绘制命令和至少一个该第二类绘制命令,其中,该第一类绘制命令对应的区域为该不规则绘制命令对应的最大内接矩形,该至少一个第二类绘制命令对应的绘制区域为该不规则绘制命令对应的绘制区域除该最大内接矩形外的边角区域。
本发明实施例中,计算机系统2000通过将绘制区域的形状为的三角形、旋转矩形或椭圆形的原始不规则命令按最大内接矩形拆分成一个规则绘制命令和若干个新的不规则绘制命令,拆分后的规则绘制命令在经过相交检测后得到若干个新的规则绘制命令,该若干个新的规则绘制命令中有可能会有一个或多个在命令合并操作中被合并,从而能够在一定程度上增加消除过度绘制的效果。
可选地,作为另一个实施例,在用于根据外包矩形信息与绘制区域信息,将该多个绘制命令中的每一个不规则绘制命令拆分成至少一个第一类绘制命令和至少一个第二类绘制命令的过程中,处理器2002具体用于:
当该不规则绘制命令对应的绘制区域为不规则多边形时,将该不规则多边形的绘制区域切分成多个三角形的绘制区域,并根据该不规则多边形的切分方法将该不规则绘制命令拆分成多个第三类绘制命令,该多个第三类绘制命令与该多个三角形的绘制区域之间是一一对应关系;
针对每个第三类绘制命令,根据该第三类绘制命令的外包矩形信息与绘制区域信息,获取该第三类绘制命令的最大内接矩形信息;
利用该第三类绘制命令的外包矩形信息与最大内接矩形信息,将该第三类绘制命令拆分成一个该第一类绘制命令和至少一个该第二类绘制命令,其中,该第一类绘制命令对应的区域为该第三类绘制命令对应的最大内接矩形,该至少一个第二类绘制命令对应的绘制区域为该第三类绘制命令对应的绘制区域除该最大内接矩形外的边角区域。
本发明实施例中,计算机系统2000通过将绘制区域的形状为的三角形、旋转矩形或椭圆形的原始不规则命令按最大内接矩形拆分成一个规则绘制命令和若干个新的不规则绘制命令,拆分后的规则绘制命令在经过相交检测后得到若干个新的规则绘制命令,该若干个新的规则绘制命令中有可能会有一个或多个在命令合并操作中被合并,从而能够在一定程度上增加消除过度绘制的效果。
可选地,处理器2002具体用于:通过采用R+树算法,根据外包矩形信息和绘制区域信息,将该多个绘制命令中的规则绘制命令,以及该多个绘制命令中的不规则绘制命令经拆分后的该第一类绘制命令和该第二类绘制命令,分组成多个绘制命令集,使得属于不同绘制命令集的绘制命令互不相交。
本发明实施例中,计算机系统2000通过将不规则多边形拆分成多个三角形,再针对每个三角形拆分成一个最大内接矩形和三个边角区域,并根据拆分后的区域将原始绘制命令拆分成多个规则绘制命令和多个新的不规则绘制命令,拆分后的规则绘制命令在经过相交检测后得到若干个新的规则绘制命令,该若干个新的规则绘制命令中有可能会有一个或多个在命令合并操作中被合并,从而能够在一定程度上增加消除过度绘制的效果。
此外,计算机系统2000还可执行图17的方法,并实现图形处理装置在图17所示实施例中的功能,本发明实施例在此不再赘述。
图21是本发明实施例图形显示系统2100的结构示意图。如图21所示,图形显示系统2100可包括图形处理装置2101和图形显示装置2102。其中,
图形处理装置2101可以是图14的实施例中所示的图形处理装置1400。
图形显示装置2102,与该图形处理装置2101具有通信连接,用于显示该图形处理装置执行完经合并后的绘制命令所得到的图形。
本发明实施例中,图形显示系统2100通过将当前帧的命令队列中的不规则绘制命令按绘制区域拆分成规则绘制命令和不规则绘制命令,并将拆分前的规则绘制命令及拆分后的规则绘制命令和不规则绘制命令分组为多个互不相交的绘制命令集,再对每个绘制命令集分别进行相交检测和命令合并,由于将绘制命令分组成多个绘制命令集再进行相交检测能够大大减少相交检测的时间,并且由于将原始不规则绘制命令拆分成规则绘制命令和不规则绘制命令,拆分后的规则绘制命令在经过相交检测后得到若干个新的规则绘制命令,该若干个新的规则绘制命令中有可能会有一个或多个在命令合并操作中被合并,能够在一定程度上增加消除过度绘制的效果,从而能够提高图形处理的性能。
图22是本发明实施例图形显示系统2200的结构示意图。如图22所示,图形显示系统2200可包括图形处理装置2201和图形显示装置2202。其中,
图形处理装置2201可以是图18的实施例中所示的图形处理装置1800。
图形显示装置2202,与该图形处理装置2201具有通信连接,用于显示该图形处理装置执行完经合并后的绘制命令所得到的图形。
本发明实施例中,图形显示系统2200通过将当前帧的命令队列中的多个API命令转换为多个绘制命令,再将多个绘制命令中的不规则绘制命令按绘制区域拆分成规则绘制命令和不规则绘制命令,并将拆分前的规则绘制命令及拆分后的规则绘制命令和不规则绘制命令分组为多个互不相交的绘制命令集,再对每个绘制命令集分别进行相交检测和命令合并,由于将绘制命令分组成多个绘制命令集再进行相交检测能够大大减少相交检测的时间,并且由于将原始不规则绘制命令拆分成规则绘制命令和不规则绘制命令,拆分后的规则绘制命令在经过相交检测后得到若干个新的规则绘制命令,该若干个新的规则绘制命令中有可能会有一个或多个在命令合并操作中被合并,能够在一定程度上增加消除过度绘制的效果,从而能够提高图形处理的性能。
图23是本发明实施例图形显示系统2300的结构示意图。如图23所示,图形显示系统2300可包括计算机系统2301和图形显示装置2302。其中,
计算机系统2301可以是图16的实施例中所示的计算机系统1600。
图形显示装置2302,与该计算机系统2301具有通信连接,用于显示该计算机系统执行完经合并后的绘制命令所得到的图形。
本发明实施例中,图形显示系统2300通过将当前帧的命令队列中的不规则绘制命令按绘制区域拆分成规则绘制命令和不规则绘制命令,并将拆分前的规则绘制命令及拆分后的规则绘制命令和不规则绘制命令分组为多个互不相交的绘制命令集,再对每个绘制命令集分别进行相交检测和命令合并,由于将绘制命令分组成多个绘制命令集再进行相交检测能够大大减少相交检测的时间,并且由于将原始不规则绘制命令拆分成规则绘制命令和不规则绘制命令,拆分后的规则绘制命令在经过相交检测后得到若干个新的规则绘制命令,该若干个新的规则绘制命令中有可能会有一个或多个在命令合并操作中被合并,能够在一定程度上增加消除过度绘制的效果,从而能够提高图形处理的性能。
图24是本发明实施例图形显示系统2400的结构示意图。如图24所示,图形显示系统2400可包括计算机系统2401和图形显示装置2402。其中,
计算机系统2401可以是图20的实施例中所示的计算机系统2000。
图形显示装置2402,与该计算机系统2401具有通信连接,用于显示该计算机系统执行完经合并后的绘制命令所得到的图形。
本发明实施例中,图形显示系统2400通过将当前帧的命令队列中的多个API命令转换为多个绘制命令,再将多个绘制命令中的不规则绘制命令按绘制区域拆分成规则绘制命令和不规则绘制命令,并将拆分前的规则绘制命令及拆分后的规则绘制命令和不规则绘制命令分组为多个互不相交的绘制命令集,再对每个绘制命令集分别进行相交检测和命令合并,由于将绘制命令分组成多个绘制命令集再进行相交检测能够大大减少相交检测的时间,并且由于将原始不规则绘制命令拆分成规则绘制命令和不规则绘制命令,拆分后的规则绘制命令在经过相交检测后得到若干个新的规则绘制命令,该若干个新的规则绘制命令中有可能会有一个或多个在命令合并操作中被合并,能够在一定程度上增加消除过度绘制的效果,从而能够提高图形处理的性能。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等,具体例如是计算机设备中的处理器)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (14)

1.一种图形处理方法,其特征在于,包括:
接收当前帧输入的命令队列,所述命令队列包括多个绘制命令,每个所述绘制命令都携带外包矩形信息、执行内容、绘制模式与绘制区域信息,所述绘制模式包括覆盖模式、混合模式或等待模式;
根据外包矩形信息与绘制区域信息,将所述多个绘制命令中的每一个不规则绘制命令拆分成至少一个第一类绘制命令和至少一个第二类绘制命令,其中,所述第一类绘制命令的绘制区域为所述不规则绘制命令对应的绘制区域内的矩形,所述至少一个第二类绘制命令的绘制区域为所述不规则绘制命令对应的绘制区域去掉所述至少一个第一类绘制命令的绘制区域后剩余的边角区域,所述至少一个第一类绘制命令的绘制模式与所述不规则绘制命令的绘制模式相同,所述至少一个第二类绘制命令的绘制模式为等待模式;
根据外包矩形信息和绘制区域信息,将所述多个绘制命令中的规则绘制命令,以及所述多个绘制命令中的不规则绘制命令经拆分后的所述第一类绘制命令和所述第二类绘制命令,分组成多个绘制命令集,使得属于不同绘制命令集的绘制命令互不相交;
根据外包矩形信息和绘制区域信息,对所述多个绘制命令集分别进行相交检测,使得所述多个绘制命令集中每一个绘制命令集内绘制命令互不相交;
根据执行内容、绘制模式和绘制区域信息,对经过相交检测的所述多个绘制命令集分别进行绘制命令合并;
执行每个绘制命令集经合并后的绘制命令。
2.如权利要求1所述的方法,其特征在于,所述根据所述外包矩形信息与所述绘制区域信息,将所述多个绘制命令中的每一个不规则绘制命令拆分成至少一个第一类绘制命令和至少一个第二类绘制命令包括:
根据所述不规则绘制命令的外包矩形信息与绘制区域信息,获取所述不规则绘制命令的最大内接矩形信息;
利用所述不规则绘制命令的外包矩形信息与最大内接矩形信息,将所述不规则绘制命令拆分成一个所述第一类绘制命令和至少一个所述第二类绘制命令,其中,所述第一类绘制命令对应的区域为所述不规则绘制命令对应的最大内接矩形,所述至少一个第二类绘制命令对应的绘制区域为所述不规则绘制命令对应的绘制区域除所述最大内接矩形外的边角区域。
3.如权利要求1所述的方法,其特征在于,所述根据所述外包矩形信息与所述绘制区域信息,将所述多个绘制命令中的每一个不规则绘制命令拆分成至少一个第一类绘制命令和至少一个第二类绘制命令包括:
当所述不规则绘制命令对应的绘制区域为不规则多边形时,将所述不规则多边形的绘制区域切分成多个三角形的绘制区域,并根据所述不规则多边形的切分方法将所述不规则绘制命令拆分成多个第三类绘制命令,所述多个第三类绘制命令与所述多个三角形的绘制区域之间是一一对应关系;
针对每个第三类绘制命令,根据所述第三类绘制命令的外包矩形信息与绘制区域信息,获取所述第三类绘制命令的最大内接矩形信息;
利用所述第三类绘制命令的外包矩形信息与最大内接矩形信息,将所述第三类绘制命令拆分成一个所述第一类绘制命令和至少一个所述第二类绘制命令,其中,所述第一类绘制命令对应的区域为所述第三类绘制命令对应的最大内接矩形,所述至少一个第二类绘制命令对应的绘制区域为所述第三类绘制命令对应的绘制区域除所述最大内接矩形外的边角区域。
4.一种图形处理方法,其特征在于,包括:
接收当前帧输入的命令队列,所述命令队列包括多个应用程序编程接口API命令;
将所述多个API命令转换为多个绘制命令,每个所述绘制命令都携带外包矩形信息、执行内容、绘制模式与绘制区域信息,所述绘制模式包括覆盖模式、混合模式或等待模式;
根据外包矩形信息与绘制区域信息,将所述多个绘制命令中的每一个不规则绘制命令拆分成至少一个第一类绘制命令和至少一个第二类绘制命令,其中,所述第一类绘制命令的绘制区域为所述不规则绘制命令对应的绘制区域内的矩形,所述至少一个第二类绘制命令的绘制区域为所述不规则绘制命令对应的绘制区域去掉所述至少一个第一类绘制命令的绘制区域后剩余的边角区域,所述至少一个第一类绘制命令的绘制模式与所述不规则绘制命令的绘制模式相同,所述至少一个第二类绘制命令的绘制模式为等待模式;
根据外包矩形信息和绘制区域信息,将所述多个绘制命令中的规则绘制命令,以及所述多个绘制命令中的不规则绘制命令经拆分后的所述第一类绘制命令和所述第二类绘制命令,分组成多个绘制命令集,使得属于不同绘制命令集的绘制命令互不相交;
根据外包矩形信息和绘制区域信息,对所述多个绘制命令集分别进行相交检测,使得所述多个绘制命令集中每一个绘制命令集内绘制命令互不相交;
根据执行内容、绘制模式和绘制区域信息,对经过相交检测的所述多个绘制命令集分别进行绘制命令合并;
执行每个绘制命令集经合并后的绘制命令。
5.如权利要求4所述的方法,其特征在于,所述根据所述外包矩形信息与所述绘制区域信息,将所述多个绘制命令中的每一个不规则绘制命令拆分成至少一个第一类绘制命令和至少一个第二类绘制命令包括:
根据所述不规则绘制命令的外包矩形信息与绘制区域信息,获取所述不规则绘制命令的最大内接矩形信息;
利用所述不规则绘制命令的外包矩形信息与最大内接矩形信息,将所述不规则绘制命令拆分成一个所述第一类绘制命令和至少一个所述第二类绘制命令,其中,所述第一类绘制命令对应的区域为所述不规则绘制命令对应的最大内接矩形,所述至少一个第二类绘制命令对应的绘制区域为所述不规则绘制命令对应的绘制区域除所述最大内接矩形外的边角区域。
6.如权利要求4所述的方法,其特征在于,所述根据所述外包矩形信息与所述绘制区域信息,将所述多个绘制命令中的每一个不规则绘制命令拆分成至少一个第一类绘制命令和至少一个第二类绘制命令包括:
当所述不规则绘制命令对应的绘制区域为不规则多边形时,将所述不规则多边形的绘制区域切分成多个三角形的绘制区域,并根据所述不规则多边形的切分方法将所述不规则绘制命令拆分成多个第三类绘制命令,所述多个第三类绘制命令与所述多个三角形的绘制区域之间是一一对应关系;
针对每个第三类绘制命令,根据所述第三类绘制命令的外包矩形信息与绘制区域信息,获取所述第三类绘制命令的最大内接矩形信息;
利用所述第三类绘制命令的外包矩形信息与最大内接矩形信息,将所述第三类绘制命令拆分成一个所述第一类绘制命令和至少一个所述第二类绘制命令,其中,所述第一类绘制命令对应的区域为所述第三类绘制命令对应的最大内接矩形,所述至少一个第二类绘制命令对应的绘制区域为所述第三类绘制命令对应的绘制区域除所述最大内接矩形外的边角区域。
7.一种图形处理装置,其特征在于,包括:
命令收集模块,用于接收当前帧输入的命令队列,所述命令队列包括多个绘制命令,每个所述绘制命令都携带外包矩形信息、执行内容、绘制模式与绘制区域信息,所述绘制模式包括覆盖模式、混合模式或等待模式;
命令拆分模块,用于根据外包矩形信息与绘制区域信息,将所述多个绘制命令中的每一个不规则绘制命令拆分成至少一个第一类绘制命令和至少一个第二类绘制命令,其中,所述第一类绘制命令的绘制区域为所述不规则绘制命令对应的绘制区域内的矩形,所述至少一个第二类绘制命令的绘制区域为所述不规则绘制命令对应的绘制区域去掉所述至少一个第一类绘制命令的绘制区域后剩余的边角区域,所述至少一个第一类绘制命令的绘制模式与所述不规则绘制命令的绘制模式相同,所述至少一个第二类绘制命令的绘制模式为等待模式;
命令分组模块,用于根据外包矩形信息和绘制区域信息,将所述多个绘制命令中的规则绘制命令,以及所述多个绘制命令中的不规则绘制命令经拆分后的所述第一类绘制命令和所述第二类绘制命令,分组成多个绘制命令集,使得属于不同绘制命令集的绘制命令互不相交;
相交检测模块,用于根据外包矩形信息和绘制区域信息,对所述多个绘制命令集分别进行相交检测,使得所述多个绘制命令集中每一个绘制命令集内绘制命令互不相交;
命令合并模块,用于根据执行内容、绘制模式和绘制区域信息,对经过相交检测的所述多个绘制命令集分别进行绘制命令合并;
执行模块,用于执行每个绘制命令集经合并后的绘制命令。
8.如权利要求7所述的图形处理装置,其特征在于,所述命令拆分模块具体用于:
根据所述不规则绘制命令的外包矩形信息与绘制区域信息,获取所述不规则绘制命令的最大内接矩形信息;
利用所述不规则绘制命令的外包矩形信息与最大内接矩形信息,将所述不规则绘制命令拆分成一个所述第一类绘制命令和至少一个所述第二类绘制命令,其中,所述第一类绘制命令对应的区域为所述不规则绘制命令对应的最大内接矩形,所述至少一个第二类绘制命令对应的绘制区域为所述不规则绘制命令对应的绘制区域除所述最大内接矩形外的边角区域。
9.如权利要求7所述的图形处理装置,其特征在于,所述命令拆分模块具体用于:
当所述不规则绘制命令对应的绘制区域为不规则多边形时,将所述不规则多边形的绘制区域切分成多个三角形的绘制区域,并根据所述不规则多边形的切分方法将所述不规则绘制命令拆分成多个第三类绘制命令,所述多个第三类绘制命令与所述多个三角形的绘制区域之间是一一对应关系;
针对每个第三类绘制命令,根据所述第三类绘制命令的外包矩形信息与绘制区域信息,获取所述第三类绘制命令的最大内接矩形信息;
利用所述第三类绘制命令的外包矩形信息与最大内接矩形信息,将所述第三类绘制命令拆分成一个所述第一类绘制命令和至少一个所述第二类绘制命令,其中,所述第一类绘制命令对应的区域为所述第三类绘制命令对应的最大内接矩形,所述至少一个第二类绘制命令对应的绘制区域为所述第三类绘制命令对应的绘制区域除所述最大内接矩形外的边角区域。
10.一种图形处理装置,其特征在于,包括:
命令收集模块,用于接收当前帧输入的命令队列,所述命令队列包括多个应用程序编程接口API命令;
命令转换模块,用于将所述多个API命令转换为多个绘制命令,每个所述绘制命令都携带外包矩形信息、执行内容、绘制模式与绘制区域信息,所述绘制模式包括覆盖模式、混合模式或等待模式;
命令拆分模块,用于根据外包矩形信息与绘制区域信息,将所述多个绘制命令中的每一个不规则绘制命令拆分成至少一个第一类绘制命令和至少一个第二类绘制命令,其中,所述第一类绘制命令的绘制区域为所述不规则绘制命令对应的绘制区域内的矩形,所述至少一个第二类绘制命令的绘制区域为所述不规则绘制命令对应的绘制区域去掉所述至少一个第一类绘制命令的绘制区域后剩余的边角区域,所述至少一个第一类绘制命令的绘制模式与所述不规则绘制命令的绘制模式相同,所述至少一个第二类绘制命令的绘制模式为等待模式;
命令分组模块,用于根据外包矩形信息和绘制区域信息,将所述多个绘制命令中的规则绘制命令,以及所述多个绘制命令中的不规则绘制命令经拆分后的所述第一类绘制命令和所述第二类绘制命令,分组成多个绘制命令集,使得属于不同绘制命令集的绘制命令互不相交;
相交检测模块,用于根据外包矩形信息和绘制区域信息,对所述多个绘制命令集分别进行相交检测,使得所述多个绘制命令集中每一个绘制命令集内绘制命令互不相交;
命令合并模块,用于根据执行内容、绘制模式和绘制区域信息,对经过相交检测的所述多个绘制命令集分别进行绘制命令合并;
执行模块,用于执行每个绘制命令集经合并后的绘制命令。
11.如权利要求10所述的图形处理装置,其特征在于,所述命令拆分模块具体用于:
根据所述不规则绘制命令的外包矩形信息与绘制区域信息,获取所述不规则绘制命令的最大内接矩形信息;
利用所述不规则绘制命令的外包矩形信息与最大内接矩形信息,将所述不规则绘制命令拆分成一个所述第一类绘制命令和至少一个所述第二类绘制命令,其中,所述第一类绘制命令对应的区域为所述不规则绘制命令对应的最大内接矩形,所述至少一个第二类绘制命令对应的绘制区域为所述不规则绘制命令对应的绘制区域除所述最大内接矩形外的边角区域。
12.如权利要求10所述的图形处理装置,其特征在于,所述命令分组模块具体用于:
当所述不规则绘制命令对应的绘制区域为不规则多边形时,将所述不规则多边形的绘制区域切分成多个三角形的绘制区域,并根据所述不规则多边形的切分方法将所述不规则绘制命令拆分成多个第三类绘制命令,所述多个第三类绘制命令与所述多个三角形的绘制区域之间是一一对应关系;
针对每个第三类绘制命令,根据所述第三类绘制命令的外包矩形信息与绘制区域信息,获取所述第三类绘制命令的最大内接矩形信息;
利用所述第三类绘制命令的外包矩形信息与最大内接矩形信息,将所述第三类绘制命令拆分成一个所述第一类绘制命令和至少一个所述第二类绘制命令,其中,所述第一类绘制命令对应的区域为所述第三类绘制命令对应的最大内接矩形,所述至少一个第二类绘制命令对应的绘制区域为所述第三类绘制命令对应的绘制区域除所述最大内接矩形外的边角区域。
13.一种图形显示系统,其特征在于,包括:
如权利要求7至9任一项所述的图形处理装置,以及
图形显示装置,与所述图形处理装置具有通信连接,用于显示所述图形处理装置执行完经合并后的绘制命令所得到的图形。
14.一种图形显示系统,其特征在于,包括:
如权利要求10至12任一项所述的图形处理装置,以及
图形显示装置,与所述图形处理装置具有通信连接,用于显示所述图形处理装置执行完经合并后的绘制命令所得到的图形。
CN201510154809.4A 2015-04-02 2015-04-02 图形处理方法、装置及系统 Active CN104809684B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201510154809.4A CN104809684B (zh) 2015-04-02 2015-04-02 图形处理方法、装置及系统
PCT/CN2015/094969 WO2016155329A1 (zh) 2015-04-02 2015-11-19 图形处理方法、装置及系统
EP15887283.8A EP3267391B1 (en) 2015-04-02 2015-11-19 Graphic processing method, device and system
US15/719,073 US10198785B2 (en) 2015-04-02 2017-09-28 Graphics processing method, apparatus, and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510154809.4A CN104809684B (zh) 2015-04-02 2015-04-02 图形处理方法、装置及系统

Publications (2)

Publication Number Publication Date
CN104809684A true CN104809684A (zh) 2015-07-29
CN104809684B CN104809684B (zh) 2018-03-27

Family

ID=53694489

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510154809.4A Active CN104809684B (zh) 2015-04-02 2015-04-02 图形处理方法、装置及系统

Country Status (4)

Country Link
US (1) US10198785B2 (zh)
EP (1) EP3267391B1 (zh)
CN (1) CN104809684B (zh)
WO (1) WO2016155329A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016155329A1 (zh) * 2015-04-02 2016-10-06 华为技术有限公司 图形处理方法、装置及系统
CN107833227A (zh) * 2017-10-31 2018-03-23 苏州乐米信息科技股份有限公司 一种圆形裁剪区域的绘制方法及其系统
CN111462278A (zh) * 2020-03-17 2020-07-28 稿定(厦门)科技有限公司 基于深度的素材排序渲染方法、介质、设备及装置
CN112053622A (zh) * 2020-09-16 2020-12-08 中国测绘科学研究院 一种多环多边形自相交模式识别及处理方法
WO2022011841A1 (zh) * 2020-07-14 2022-01-20 长沙景嘉微电子股份有限公司 Gpgpu中簇的实现方法、装置、终端及介质

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180029178A (ko) * 2016-09-09 2018-03-20 삼성디스플레이 주식회사 전자 장치
US10818067B1 (en) * 2019-05-31 2020-10-27 Texas Instruments Incorporated GPU assist using DSP pre-processor system and method
CN113012260B (zh) * 2021-02-09 2023-04-28 福建天泉教育科技有限公司 一种在Canvas下交叉区域擦除的方法与终端
CN115049755A (zh) * 2021-03-09 2022-09-13 京东方科技集团股份有限公司 一种图片生成方法、装置、设备以及存储介质
CN113495663B (zh) * 2021-07-05 2022-03-11 北京华大九天科技股份有限公司 绘制矩形版图的方法、装置、存储介质和电子设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1773494A (zh) * 2005-10-20 2006-05-17 北京航空航天大学 面向图形绘制平台的场景图优化设计方法
CN101499172A (zh) * 2009-03-06 2009-08-05 深圳华为通信技术有限公司 控件绘制方法及装置
US20090244628A1 (en) * 2008-03-31 2009-10-01 Brother Kogyo Kabushiki Kaisha Image generating device, image generating method and printing device
US20100322527A1 (en) * 2009-06-17 2010-12-23 Canon Kabushiki Kaisha Method of encoding and decoding a graphics path sequence into a layered scheme
CN103164839A (zh) * 2013-03-07 2013-06-19 华为技术有限公司 一种绘图方法、装置及终端
CN103677828A (zh) * 2013-12-10 2014-03-26 华为技术有限公司 一种图层绘制方法、绘图引擎及终端设备

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0628126A (ja) * 1992-07-09 1994-02-04 Canon Inc 情報処理方法及び装置
JP3845045B2 (ja) * 2002-07-23 2006-11-15 株式会社リコー 画像処理装置、画像処理方法、画像形成装置、印刷装置及びホストpc
GB0228973D0 (en) * 2002-12-12 2003-01-15 Univ Aston System and method for coding and retrieval of a CAD drawing from a database
EP1528512A3 (en) * 2003-10-28 2006-02-15 Samsung Electronics Co., Ltd. Graphic decoder, image reproduction apparatus and method for graphic display acceleration based on commands
US8379019B2 (en) 2007-12-26 2013-02-19 Advanced Micro Devices, Inc. Fast triangle reordering for vertex locality and reduced overdraw
US8739028B2 (en) * 2009-05-22 2014-05-27 Cabin Creek, Llc Methods for producing user-configurable accented presentations
CN101702244B (zh) 2009-11-10 2012-04-25 南京大学 一种适用于绘制区域任意划分的并行绘制负载平衡方法
US9547930B2 (en) 2011-11-30 2017-01-17 Qualcomm Incorporated Hardware switching between direct rendering and binning in graphics processing
CN102736898B (zh) 2012-05-08 2015-04-22 国家测绘局卫星测绘应用中心 一种适用于多核cpu的矢量数据并行绘制方法和装置
US8994750B2 (en) * 2012-06-11 2015-03-31 2236008 Ontario Inc. Cell-based composited windowing system
US9779533B2 (en) * 2014-01-27 2017-10-03 Nvidia Corporation Hierarchical tiled caching
CN104809684B (zh) * 2015-04-02 2018-03-27 华为技术有限公司 图形处理方法、装置及系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1773494A (zh) * 2005-10-20 2006-05-17 北京航空航天大学 面向图形绘制平台的场景图优化设计方法
US20090244628A1 (en) * 2008-03-31 2009-10-01 Brother Kogyo Kabushiki Kaisha Image generating device, image generating method and printing device
CN101499172A (zh) * 2009-03-06 2009-08-05 深圳华为通信技术有限公司 控件绘制方法及装置
US20100322527A1 (en) * 2009-06-17 2010-12-23 Canon Kabushiki Kaisha Method of encoding and decoding a graphics path sequence into a layered scheme
CN103164839A (zh) * 2013-03-07 2013-06-19 华为技术有限公司 一种绘图方法、装置及终端
CN103677828A (zh) * 2013-12-10 2014-03-26 华为技术有限公司 一种图层绘制方法、绘图引擎及终端设备

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016155329A1 (zh) * 2015-04-02 2016-10-06 华为技术有限公司 图形处理方法、装置及系统
US10198785B2 (en) 2015-04-02 2019-02-05 Huawei Technologies Co., Ltd. Graphics processing method, apparatus, and system
CN107833227A (zh) * 2017-10-31 2018-03-23 苏州乐米信息科技股份有限公司 一种圆形裁剪区域的绘制方法及其系统
CN111462278A (zh) * 2020-03-17 2020-07-28 稿定(厦门)科技有限公司 基于深度的素材排序渲染方法、介质、设备及装置
WO2022011841A1 (zh) * 2020-07-14 2022-01-20 长沙景嘉微电子股份有限公司 Gpgpu中簇的实现方法、装置、终端及介质
CN112053622A (zh) * 2020-09-16 2020-12-08 中国测绘科学研究院 一种多环多边形自相交模式识别及处理方法

Also Published As

Publication number Publication date
US10198785B2 (en) 2019-02-05
WO2016155329A1 (zh) 2016-10-06
EP3267391A4 (en) 2018-03-14
EP3267391A1 (en) 2018-01-10
US20180018751A1 (en) 2018-01-18
EP3267391B1 (en) 2019-09-18
CN104809684B (zh) 2018-03-27

Similar Documents

Publication Publication Date Title
CN104809684A (zh) 图形处理方法、装置及系统
EP3618003B1 (en) Method and apparatus for generating synthetic picture
CN107729083A (zh) 一种加载驱动程序的方法及嵌入式设备
US10679319B2 (en) Task execution in a SIMD processing unit with parallel groups of processing lanes
US20150235339A1 (en) Hybrid engine for central processing unit and graphics processor
CN109947857A (zh) 数据展示方法和装置、存储介质、处理器
CN106067187B (zh) 在图形处理系统中对基元分块
CN106600521A (zh) 一种图像处理方法及终端设备
CN106067188B (zh) 在图形处理系统中对基元进行图块化
CN103686304A (zh) 一种图层合成方法、装置及终端设备
CN103268620A (zh) 图形处理方法、图形处理装置及终端设备
EP4040376B1 (en) Picture processing method and apparatus, and electronic device and storage medium
CN103116517A (zh) 虚拟化平台下i/o通道的调整方法和调整装置
CN101937360B (zh) 一种创建虚拟机的方法和装置
JPH07104948B2 (ja) イメージ理解マシーンおよびイメージ分析方法
CN112463296A (zh) 一种创建虚拟机的方法及装置
CN103164864A (zh) 计算机图像处理中多边形的三角化方法及其系统
CN108668161A (zh) 视频图像处理方法、计算机装置及计算机可读存储介质
US20140152700A1 (en) Method, apparatus and system for determining a merged intermediate representation of a page
US20240126643A1 (en) TILE REGION PROTECTION USING MULTIPLE GPUs
US20150015575A1 (en) Techniques for spatially sorting graphics information
CN112486807A (zh) 一种压力测试方法、装置、电子设备和可读存储介质
CN110083469B (zh) 一种异构硬件组织运行统一内核方法及系统
US20210103852A1 (en) Resource based workload allocation for machine learning workloads
CN110647574B (zh) 一种社交网络数据展示方法、终端设备及存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant