CN110286992A - 界面图形重绘的方法及装置 - Google Patents
界面图形重绘的方法及装置 Download PDFInfo
- Publication number
- CN110286992A CN110286992A CN201910588026.5A CN201910588026A CN110286992A CN 110286992 A CN110286992 A CN 110286992A CN 201910588026 A CN201910588026 A CN 201910588026A CN 110286992 A CN110286992 A CN 110286992A
- Authority
- CN
- China
- Prior art keywords
- drawing image
- interface
- redrawn
- output
- information
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 146
- 230000008569 process Effects 0.000 claims abstract description 82
- 238000012545 processing Methods 0.000 claims description 68
- 230000009466 transformation Effects 0.000 claims description 27
- 238000003860 storage Methods 0.000 claims description 17
- 238000006243 chemical reaction Methods 0.000 claims description 13
- 238000004040 coloring Methods 0.000 claims description 12
- 241000208340 Araliaceae Species 0.000 claims description 6
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 claims description 6
- 235000003140 Panax quinquefolius Nutrition 0.000 claims description 6
- 235000008434 ginseng Nutrition 0.000 claims description 6
- 238000009826 distribution Methods 0.000 claims description 5
- 235000013399 edible fruits Nutrition 0.000 claims 1
- 238000004364 calculation method Methods 0.000 description 18
- 238000010586 diagram Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 16
- 239000011159 matrix material Substances 0.000 description 13
- 238000005520 cutting process Methods 0.000 description 12
- 238000004590 computer program Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 7
- 238000013507 mapping Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 230000003139 buffering effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000004321 preservation Methods 0.000 description 2
- 239000013589 supplement Substances 0.000 description 2
- FNMKZDDKPDBYJM-UHFFFAOYSA-N 3-(1,3-benzodioxol-5-yl)-7-(3-methylbut-2-enoxy)chromen-4-one Chemical compound C1=C2OCOC2=CC(C2=COC=3C(C2=O)=CC=C(C=3)OCC=C(C)C)=C1 FNMKZDDKPDBYJM-UHFFFAOYSA-N 0.000 description 1
- 241000406668 Loxodonta cyclotis Species 0.000 description 1
- 241000209140 Triticum Species 0.000 description 1
- 235000021307 Triticum Nutrition 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000012508 change request Methods 0.000 description 1
- 230000019771 cognition Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000010422 painting Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 239000000047 product Substances 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000004080 punching Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000009966 trimming Methods 0.000 description 1
- 238000004148 unit process Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
本申请提供一种界面图形重绘的方法及装置,方法包括:获取显示器的客户区对应的待显示图形的要素信息,在本地内存中建立与客户区大小相同的缓冲区,将该待显示图形的要素信息发送至缓冲区,待显示图形的要素信息包括:输出区域信息和绘制图像;获取绘制图像的外接矩形,并根据输出区域信息在缓冲区中确定对应的输出区域;确定外接矩形与输出区域间的位置关系,若外接矩形完全在输出区域内,则将该外接矩形对应的绘制图像进行光栅化处理,并获取经该光栅化处理后的绘制图像对应的重绘电脑显示参数以在显示器进行显示。本申请能够避免CPU因显示而做出的资源调度和非必要的光栅化处理造成的***性能损失,进而降低CPU消耗和提升程序效率。
Description
技术领域
本申请涉及用户界面技术领域,尤其涉及一种界面图形重绘的方法及装置。
背景技术
UI即User Interface(用户界面)的简称。目前市面上的各种开发平台,虽然集成了很多经典的UI框架,使开发者不必在界面框架的搭建上从零开始。但真正有着良好用户体验,彰显应用个性的用户界面,无一不融合了自定义的独创设计。而自定义UI图形界面,多数情况下并不是在一个画面上保持不变的。从客观角度上讲,会出现有新的图形渲染需求或客户区(或功能区)变更需求的情况;从主观角度上讲,会出现用户改变客户区(或功能区)尺寸大小,客户区(或功能区)被其他窗口遮挡后重现的情况。在以上两种情况下,都需要对当前的UI界面进行刷新和重绘。
请求重绘的消息在一些场景下会非常频繁,而输出图形的过程是一个极为耗损CPU资源和影响程序效率的环节,所以很多操作***都对该问题进行了大致相同的优化流程,以微软的windows操作***为例,在WIN32内部维护的消息队列当中,将重绘请求消息的优先级别降到了最低,当所有消息全部处理完成之后,才会触发重绘事件。其处理过程如下:收集显示图形的要素单元-->光栅化计算-->裁剪运算-->坐标转换-->输出显示。
在重绘事件中,先进行光栅化计算再进行裁剪,光栅化计算是整个计算处理中运算量最大的环节,会反复调用显示输出模块的CPU资源;另外,传统的裁剪的处理方式无法避免非必要的光栅化运算且基于点阵的裁剪方式较为低效。当输出的UI界面较为复杂时,我们可以直观地体会到卡顿的现象。
发明内容
针对现有技术中的问题,本申请提出了一种界面图形重绘的方法及装置,能够避免CPU因显示而做出的资源调度和非必要的光栅化处理造成的***性能损失,进而降低CPU消耗和提升程序效率。
为了解决上述技术问题,本申请提供以下技术方案:
第一方面,本申请提供一种界面图形重绘的方法,包括:
获取显示器的客户区对应的待显示图形的要素信息,并在本地内存中建立与所述客户区大小相同的缓冲区,并将所述待显示图形的要素信息发送至该缓冲区,其中,所述待显示图形的要素信息包括:输出区域信息和绘制图像;
获取所述绘制图像的外接矩形,并根据所述输出区域信息在所述缓冲区中确定对应的输出区域,并确定所述外接矩形与所述输出区域之间的位置关系;
若所述外接矩形完全在所述输出区域内,则将该外接矩形对应的绘制图像进行光栅化处理,并获取经该光栅化处理后的绘制图像对应的重绘电脑显示参数以在所述显示器中进行显示。
进一步地,所述界面图形重绘的方法,还包括:若所述绘制图像的外接矩形中的部分在所述输出区域外,则将该外接矩形对应的绘制图像进行光栅化处理,并获取经该光栅化处理后的绘制图像对应的重绘电脑显示参数,其中,所述重绘电脑显示参数包括:坐标在所述输出区域外的重绘电脑显示参数和坐标在所述输出区域内的重绘电脑显示参数;对所述重绘电脑显示参数进行逐点判断,剔除所述坐标在所述输出区域外的重绘电脑显示参数;获取所述坐标在输出区域内的重绘电脑显示参数以在所述显示器中进行显示。
进一步地,所述界面图形重绘的方法,还包括:若所述绘制图像的外接矩形完全在所述输出区域外,则在缓冲区中剔除该绘制图像。
进一步地,所述获取所述绘制图像的外接矩形,包括:获取扫描线和所述绘制图像各边的交点,其中,该扫描线是指将所述缓冲区分割为若干块的等距水平线;根据各交点横坐标的最大值和最小值,还有各交点纵坐标的最大值和最小值,获取四个极值点;将所述四个极值点作为边界,获取所述绘制图像的外接矩形。
进一步地,所述绘制图像中的信息包括:绘制图像的坐标信息、几何参数和颜色信息。
进一步地,所述获取经该光栅化处理后的绘制图像对应的重绘电脑显示参数以在所述显示器中进行显示,包括:根据所述绘制图像的坐标信息,对所述重绘电脑显示参数进行坐标转化,将逻辑坐标信息转换为像素单元信息,并存储该坐标转化后的结果;调用本地操作***相对应的输出接口后,将所述坐标转化后的结果在本地CPU内部指令处理和显卡分配相关象元输出图像,以使显示器显示所述重绘电脑显示参数。
进一步地,所述绘制图像是一个或者多个;若所述绘制图像是多个,则相对应的,在所述对所述重绘电脑显示参数进行坐标转化之后,还包括:统一调用所述操作***对应的接口输出,以使输出步骤仅进行一次。
进一步地,在所述统一调用操作***相对应的输出接口的同时,还包括:释放所述缓冲区占用内存。
进一步地,所述重绘电脑显示参数包括:所述绘制图像转化后的几何参数、坐标信息和颜色信息。
第二方面,本申请提供一种界面图形重绘的装置,包括:
图像要素请求模块,用于获取显示器的客户区对应的待显示图形的要素信息,并在本地内存中建立与所述客户区大小相同的缓冲区,并将所述待显示图形的要素信息发送至该缓冲区,其中,所述待显示图形的要素信息包括:输出区域信息和绘制图像;
绘制模块,用于获取所述绘制图像的外接矩形,根据所述输出区域信息在所述缓冲区中确定对应的输出区域,并确定所述外接矩形与所述输出区域之间的位置关系;
处理模块,用于若所述外接矩形完全在所述输出区域内,则将该外接矩形对应的绘制图像进行光栅化处理,并获取经该光栅化处理后的绘制图像对应的重绘电脑显示参数以在所述显示器中进行显示。
进一步地,所述处理模块包括:光栅化处理单元,用于若所述绘制图像的外接矩形中的部分在所述输出区域外,则将该外接矩形对应的绘制图像进行光栅化处理,并获取经该光栅化处理后的绘制图像对应的重绘电脑显示参数,其中,所述重绘电脑显示参数包括:坐标在所述输出区域外的重绘电脑显示参数和坐标在所述输出区域内的重绘电脑显示参数;第一判断单元,用于对所述重绘电脑显示参数进行逐点判断,剔除所述坐标在所述输出区域外的重绘电脑显示参数,以使所述坐标在输出区域内的重绘电脑显示参数以在所述显示器中进行显示。
进一步地,所述处理模块还包括:第二判断单元,用于若所述绘制图像的外接矩形完全在所述输出区域外,则在缓冲区中剔除该绘制图像。
进一步地,所述绘制模块包括:获取交点单元,用于获取扫描线和所述绘制图像各边的交点,其中,该扫描线是指将所述缓冲区分割为若干块的等距水平线;获取极值点单元,用于根据各交点横坐标的最大值和最小值,还有各交点纵坐标的最大值和最小值,获取四个极值点;绘制外接矩形单元,用于将所述四个极值点作为边界,获取所述绘制图像的外接矩形。
进一步地,所述绘制图像中的信息包括:绘制图像的坐标信息、几何参数和颜色信息。
进一步地,所述处理模块还包括:坐标转换单元,用于根据所述绘制图像的坐标信息,对所述重绘电脑显示参数进行坐标转化,将逻辑坐标信息转换为像素单元信息,并存储该坐标转化后的结果;输出显示单元,用于调用本地操作***相对应的输出接口后,将所述坐标转化后的结果在本地CPU内部指令处理和显卡分配相关象元输出图像,以使显示器显示所述重绘电脑显示参数。
进一步地,所述绘制图像是一个或者多个;相对应的,所述输出显示单元,还用于若所述绘制图像是多个,则对所述重绘电脑显示参数进行坐标转化后,统一调用所述操作***对应的接口输出,以使输出步骤仅进行一次。
进一步地,所述处理模块,还包括:缓冲释放单元,用于在调用本地操作***相对应的输出接口的同时,释放所述缓冲区占用内存。
进一步地,所述重绘电脑显示参数,还包括:所述绘制图像转化后的几何参数、坐标信息和颜色信息。
第三方面,本申请提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述的界面图形重绘的方法的步骤。
第四方面,本申请提供一种计算机可读存储介质,其上存储有计算机指令,所述指令被执行时实现所述的界面图形重绘的方法的步骤。
由上述技术方案可知,本申请实施例提供一种界面图形重绘的方法及装置,其中,界面图像重绘的方法包括:获取显示器的客户区对应的待显示图形的要素信息,并在本地内存中建立与所述客户区大小相同的缓冲区,并将所述待显示图形的要素信息发送至该缓冲区,其中,所述待显示图形的要素信息包括:输出区域信息和绘制图像;获取所述绘制图像的外接矩形,并根据所述输出区域信息在所述缓冲区中确定对应的输出区域;确定所述外接矩形与所述输出区域之间的位置关系,若所述外接矩形完全在所述输出区域内,则将该外接矩形对应的绘制图像进行光栅化处理,并获取经该光栅化处理后的绘制图像对应的重绘电脑显示参数以在所述显示器中进行显示,能够避免CPU因为显示而做出的频繁资源调度,当绘制的图形数目较多且较为复杂时,绘图可能需要几秒钟甚至更长的时间,本申请实施例中显示环节只用进行一次加载,即可将所有输出内容显示在显示器上,使得输出过程所占用的时间近乎忽略不计,能够显著降低CPU资源的消耗,极大地提升程序的效率;在大部分情况下能够规避输出区域外图形的光栅化处理,能够避免瓶颈环节的非必要处理过程,使得运算过程CPU的负担极大降低,能够提升程序的效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有的在重绘事件前对于多个有重绘请求的区域的合并方式示意图;
图2为本申请实施例中的界面图形重绘的方法的流程示意图;
图3为本申请实施例中的界面图形重绘的方法中步骤1000至步骤3000的流程示意图;
图4为本申请提实施例中的界面图形重绘的方法中步骤1000至步骤4000的流程示意图;
图5为本申请实施例中的界面图形重绘的方法中步骤1000至步骤5000的流程示意图;
图6为本申请实施例中的获取所述绘制图像的外接矩形的流程示意图;
图7为本申请提供的界面图形重绘的装置的结构示意图;
图8为本申请提供的界面图形重绘的装置的处理模块的结构示意图;
图9为本申请具体应用实例中的界面图形重绘的装置的结构示意图;
图10为本申请具体应用实例中的界面图形重绘的方法的流程示意图;
图11为本申请具体应用实例中所述缓冲区的示意图;
图12为本申请提供的以全客户区重绘的方式重绘界面的效果图;
图13为本申请提供的以选定客户区左上角500×500(单位:像素)矩形区域作为重绘输出区域的方式重绘界面的效果图;
图14为本申请实施例的电子设备600的***构成示意框图。
具体实施方式
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
UI设计则是指对软件的人机交互、操作逻辑、界面美观的整体设计。一个友好美观的界面会给人带来舒适的视觉享受,拉近人与电脑的距离,为商家创造卖点。而自定义UI图形界面,多数情况下并不是在一个画面上保持不变的,都需要对当前的UI界面进行刷新和重绘。
目前的大部分基本图形库提供的主动重绘模式(或托管给操作***的重绘模式),即不同操作***提供的重绘接口,都默认为直接简单的全图重绘和指定矩形区域重绘两种方式。然而,不论使用这两种重绘模式的哪一种,在绘制的图形数目较多且较为复杂时,都会直观地体会到重绘过程的卡顿。此外,在消息处理(或可称为回调)上,由于输出图形的过程是一个极为耗损CPU资源、影响程序效率的环节,而请求重绘的消息在一些场景下会非常频繁,所以很多操作***都对该问题进行了大致相同的优化流程,在重绘事件触发前,对于可能发起的多个区域的重绘请求进行区域合并,参见图1,具体包含有:发出R1区域重绘通知消息后,由于消息队列内的其他消息没有处理完成,该消息被押后处理,在这个过程中,又发出了R2区域重绘的通知,这时重绘区域就会被合并为R区域,当重绘消息被处理后,重绘的区域就变为了R区域。这种处理方式在一定程度上减少了效率损失,但由于区域合并方式的局限性以及忽略某些重绘请求的即时性,在一些场景下,反而加剧了用户对于卡顿现象的体会。
综上,对于目前的界面重绘方法,主要存在如下问题:
目前UI***的一般做法是直接调用程序语言提供的对应方法,直接进行光栅化计算,这种调用方式虽在应用程序层次采用不阻塞进程的异步调用方式,但在操作***层面却是串行的模式,即对于一个重绘请求,***会对每一个图形元素执行一次计算处理模块到显示输出模块的过程,反复调用显示输出模块的CPU资源消耗是十分巨大的,造成的直接后果就是当输出的UI界面较为复杂时,我们可以直观地体会到卡顿的现象。
对于裁剪方法,传统的处理方式是一种基于点阵的裁剪,即将要输出的图形做光栅化运算后的结果保存为矩阵的形式,然后将最终的矩阵运算结果依据重绘区域做逐点比对,获取在重绘区域内的点阵,所以***的处理流程是先执行光栅化计算,后执行裁剪运算。需要特别指出的是,光栅化计算部分是整个计算处理中运算量最为巨大的环节,而该种裁剪方法因无法避免非必要的光栅化运算且逐点比较较为低效,因此并非最优的裁剪方法。
基于此,为了能够降低界面图形重绘过程的CPU资源消耗并提高程序的效率,考虑从改进界面重绘的方法入手,通过优化UI输出图形的数据处理方式和输出方式,采用双缓冲技术,在本地内存中建立缓冲区,将待显示图形要素信息输出至缓冲区中,直至所有待显示图形要素全部输出完毕,将缓冲区中的内容统一调用本地操作***相应接口输出图形并释放缓冲区。在重绘的过程中,首先将绘制图像的外接矩形全部在输出区域以外的绘制图像剔除,对获取下来的其他绘制图像进行光栅化处理,以使绘制图像转化为重绘电脑显示参数,若获取下来的绘制图像的外接矩形完全在输出区域内,则获取所述重绘电脑显示参数以在显示器中显示;若获取下来的绘制图像的外接矩形中的部分在输出区域外,则逐点剔除所述重绘电脑显示参数的坐标在输出区域外的重绘电脑显示参数,获取坐标在输出区域内的重绘电脑显示参数以在显示器中进行显示,以使显示环节只用进行一次加载,即可将所有输出内容显示在显示器上,使得输出过程所占用的时间近乎忽略不计,显著降低了CPU资源的消耗,极大地提升了程序的效率,而且在大部分情况下规避了重绘区域外图形的光栅化运算(规避的覆盖率取决于外接矩形的计算方法,可进一步优化),避免了瓶颈环节的非必要计算,使得运算过程CPU的负担极大降低,提升了程序的效率。
为了能够实现降低界面图形重绘过程的CPU资源消耗并提高程序的效率,本申请提供一种执行主体是界面图形重绘装置的界面图形重绘的方法的实施例,所述界面重绘的方法,参见图2,具体包含有如下内容:
步骤1000:获取显示器的客户区对应的待显示图形的要素信息,并在本地内存中建立与所述客户区大小相同的缓冲区,并将所述待显示图形的要素信息发送至该缓冲区,其中,所述待显示图形的要素信息包含有:输出区域信息和绘制图像。
具体的,所述输出区域是指需要重现的目标重绘区域,每次接受的各个所述绘制图像是指显示在客户区的所有图像。所述待显示图形的要素信息包含有输出区域和绘制图像中的坐标信息、特征信息和颜色信息等,其中,特征信息包含有形状信息等。
步骤2000:获取所述绘制图像的外接矩形,根据所述输出区域信息在所述缓冲区中确定对应的输出区域,并确定所述外接矩形与所述输出区域之间的位置关系。
举例来说,所述外接矩形与所述输出区域之间的位置关系可以是包含、相交或外离。
步骤3000:若所述外接矩形完全在所述输出区域内,则将该外接矩形对应的绘制图像进行光栅化处理,并获取经该光栅化处理后的绘制图像对应的重绘电脑显示参数以在所述显示器中进行显示。
参见图3,具体来说,所述步骤3000具体由步骤3000a至3000c组成:
步骤3000a:所述绘制图像的外接矩形完全在所述输出区域内。
步骤3000b:将该外接矩形对应的绘制图像进行光栅化处理。
步骤3000c:获取经该光栅化处理后的绘制图像对应的重绘电脑显示参数以在所述显示器中进行显示。
具体的,所述重绘电脑显示参数包含有:所述绘制图像转化后的几何参数、坐标信息和颜色信息。通过所述光栅化处理,将所述绘制图像的几何参数转化为电脑显示参数,以利于在所述显示器显示。
为了进一步降低CPU消耗并提高界面重绘过程中程序的效率。在本申请的界面图形重绘的方法的一个实施例中,还包含有:
步骤4000:若所述绘制图像的外接矩形中的部分在所述输出区域外,则将该外接矩形对应的绘制图像进行光栅化处理,以获取经该光栅化处理后的绘制图像对应的重绘电脑显示参数,其中,所述重绘电脑显示参数包含有:坐标在所述输出区域外的重绘电脑显示参数和坐标在所述输出区域内的重绘电脑显示参数。
参见图4,具体来说,所述步骤4000具体由步骤4000a至4000d组成:
步骤4000a:所述绘制图像的外接矩形中的部分在所述输出区域外。
步骤4000b:将该外接矩形对应的绘制图像进行光栅化处理,以获取经该光栅化处理后的绘制图像对应的重绘电脑显示参数。
步骤4000c:对所述重绘电脑显示参数进行逐点判断,剔除所述坐标在所述输出区域外的重绘电脑显示参数。
具体的,所述逐点判断包含有:对所述绘制图像进行光栅化处理后,得到光栅化矩阵,对该矩阵逐点判断是否落在所述输出区域内,若在所述输出区域内,则修改输出区域坐标矩阵对应元素并保存结果,否则忽略当前矩阵坐标对应的点,继续判断下一个点。
步骤4000d:获取所述坐标在输出区域内的重绘电脑显示参数以在所述显示器中进行显示。
为了进一步降低CPU消耗并提高界面重绘过程中程序的效率,在本申请的界面图形重绘的方法的一个实施例中,还包含有:
步骤5000:若所述绘制图像的外接矩形完全在所述输出区域外,则在缓冲区中剔除该绘制图像。
参见图5,具体来说,所述步骤5000具体由步骤5000a和5000b组成:
步骤5000a:所述绘制图像的外接矩形中的部分在所述输出区域外。
步骤5000b:在缓冲区中剔除该绘制图像。
具体的,获取所述绘制图像的外接矩形,参见图6,包含有:
步骤2001:获取扫描线和所述绘制图像各边的交点,其中,该扫描线是指将所述缓冲区分割为若干块的等距水平线。
步骤2002:根据各交点横坐标的最大值和最小值,还有各交点纵坐标的最大值和最小值,获取四个极值点。
步骤2003:将所述四个极值点作为边界,获取所述绘制图像的外接矩形。
具体的,所述绘制图像中的信息包含有:绘制图像的坐标信息、几何参数和颜色信息。在本申请的一个或多个实施例中,步骤3000或步骤4000中,具体包含有:
步骤0001:根据所述绘制图像的坐标信息,对所述重绘电脑显示参数进行坐标转化,将逻辑坐标信息转换为像素单元信息,并存储该坐标转化后的结果。
步骤0002:调用本地操作***相对应的输出接口后,将所述坐标转化后的结果在本地CPU内部指令处理和显卡分配相关象元输出图像,以使显示器显示所述重绘电脑显示参数。
具体的,所述绘制图像是一个或者多个;若所述绘制图像是多个,则相对应的,在步骤0002还包含有:统一调用所述操作***对应的接口输出,以使输出步骤仅进行一次。通过统一调用所述操作***对应的接口输出,能够避免CPU因为现实而做出的频繁资源调度,使显示环节只用进行一次加载,即可将所有输出内容显示在显示器上。
在本申请一个实施例中,在步骤0002中,还包含有:
步骤0021:在调用本地操作***相对应的输出接口的同时,释放所述缓冲区占用内存。能够确保建立所述缓冲区的内存区域可被再次访问而不产生内存泄露。
从软件层面上来说,为了能够降低界面图形重绘过程的CPU资源消耗并提高程序的效率。本申请提供一种界面图形重绘的方法中全部或部分内容的界面图形重绘的装置,参见图7,具体包含有如下内容:
图像要素请求模块10,用于获取显示器的客户区对应的待显示图形的要素信息,并在本地内存中建立与所述客户区大小相同的缓冲区,并将所述待显示图形的要素信息发送至该缓冲区,其中,所述待显示图形的要素信息包含有:输出区域信息和绘制图像。
绘制模块20,用于获取所述绘制图像的外接矩形,根据所述输出区域信息在所述缓冲区中确定对应的输出区域,并确定所述外接矩形与所述输出区域之间的位置关系。
处理模块30,用于若所述外接矩形完全在所述输出区域内,则将该外接矩形对应的绘制图像进行光栅化处理,并获取经该光栅化处理后的绘制图像对应的重绘电脑显示参数以在所述显示器中进行显示。
所述重绘电脑显示参数,还包含有:所述绘制图像转化后的几何参数、坐标信息和颜色信息。
在本申请一个实施例中,参见图8,所述处理模块还包含有:
光栅化处理单元31,用于若所述绘制图像的外接矩形中的部分在所述输出区域外,则将该外接矩形对应的绘制图像进行光栅化处理,并获取经该光栅化处理后的绘制图像对应的重绘电脑显示参数,其中,所述重绘电脑显示参数包含有:坐标在所述输出区域外的重绘电脑显示参数和坐标在所述输出区域内的重绘电脑显示参数。
第一判断单元32,用于对所述重绘电脑显示参数进行逐点判断,剔除所述坐标在所述输出区域外的重绘电脑显示参数,获取所述坐标在输出区域内的重绘电脑显示参数以在所述显示器中进行显示。
在本申请的一个实施例中,参见图8,所述处理模块还包含有:
第二判断单元33,用于若所述绘制图像的外接矩形完全在所述输出区域外,则在缓冲区中剔除该绘制图像。
在本申请的一个实施例中,所述绘制模块还包含有:
获取交点单元,用于获取扫描线和所述绘制图像各边的交点,其中,该扫描线是指将所述缓冲区分割为若干块的等距水平线;
获取极值点单元,用于根据各交点横坐标的最大值和最小值,还有各交点纵坐标的最大值和最小值,获取四个极值点;
绘制外接矩形单元,用于将所述四个极值点作为边界,获取所述绘制图像的外接矩形。
在本申请一个实施例中,参见图8,所述处理模块还包含有:
坐标转换单元34,用于根据所述绘制图像的坐标信息,对所述重绘电脑显示参数进行坐标转化,将逻辑坐标信息转换为像素单元信息,并存储该坐标转化后的结果;
输出显示单元35,用于调用本地操作***相对应的输出接口后,将所述坐标转化后的结果在本地CPU内部指令处理和显卡分配相关象元输出图像,以使显示器显示所述重绘电脑显示参数。
为了确保绘制所述缓冲区的内存区域可被再次访问而不产生内存泄露,在本申请的一个实施例中,参见图8,所述处理模块还包含有:
缓冲释放单元36,用于在调用本地操作***相对应的输出接口的同时,释放所述缓冲区占用内存。
所述绘制图像是一个或者多个;相对应的,所述输出显示单元,还用于若所述绘制图像是多个,则对所述重绘电脑显示参数进行坐标转化后,统一调用所述操作***对应的接口输出,以使输出步骤仅进行一次。
基于上述界面图形重绘的方法和装置,本申请实施例可以通过界面图形重绘的装置执行界面图形重绘的过程,为了进一步降低CPU的负担,提升程序运行的效率,下面对应用本申请实施例所述的界面图形重绘的装置以及界面图形重绘的应用场景进行具体说明。
(一)界面图形重绘装置
在本申请的一个应用实例中,参见图9,所述界面图形重绘装置包含有:图形要素请求模块、计算处理模块、显示输出模块三部分,其中,所述计算处理模块所能够实现的功能相当于前述的绘制模块加处理模块共同实现的功能。
图形要素请求模块用于收集一个重绘请求中所有待显示图形的要素信息,如图形的坐标信息,特征信息(如形状信息),颜色信息等,并将这些信息发送至计算处理模块。
计算处理模块基于图形要素请求模块收集的信息做出相关计算决策支持。该模块包含有以下5个单元:
缓冲区创建单元。该单元在内存中创建一个与整个客户区大小一致的对象,用于在绘图输出元素收集完毕前充当临时“画布”,以确保实际的显示输出步骤仅执行一次。
裁剪运算单元。图形要素请求模块会收集输出区域的信息,裁剪运算单元根据该输出区域的信息裁剪缓冲区,同时,对于部分发现位于该输出区域之外的图形输出要求,裁剪运算单元负责将这些映射关系移除,即将图形要素请求模块所收集的位于输出区域之外的要素信息移除,以使图形能够正确显示在显示器上。其中,映射关系是指图形要素请求模块所收集的要素信息,后文同。
光栅化计算单元。该单元用于将要素请求模块提供的几何参数转化为电脑显示参数,如请求输出一个从坐标(A,B)到坐标(C,D)的直线,计算分配哪些坐标区域着色使显示器上显示的图形更为接近一个直线的过程就是该单元处理过程的一个实例,该单元除了用于2D图形的转换,同时应用于3D图形转换的遮盖、隐藏等运算。
坐标转换单元。由于图形要素请求模块提供的坐标信息,是一个客户区对应的坐标信息,该坐标可以认为是一个逻辑坐标,而最终在显示器上显示的图形是以像素为单位的一个设备坐标也称之为世界坐标,坐标转换单元即用于处理这两个坐标体系的转换和映射过程。
缓冲区释放单元。该单元负责在将绘图输出元素收集完毕后,调用显示输出模块接口,同时释放缓冲区,以确保该内存区域可被再次访问而不产生内存泄露。
显示输出模块主要用于调用相关操作***级别的输出接口,以达到最终使显卡分配相关象元输出图形在显示器上的目的。
(二)一种界面图形重绘的方法的应用实例
相对应的,为了进一步提高界面图形重绘的效率,参见图10,所述界面图形重绘的方法的一个具体应用实例包含有:
S1:界面发起重绘处理流程(如改变客户端尺寸等操作),图形要素请求模块收集一个重绘请求中所有待显示图形的要素信息并将这些信息发送至计算处理模块。
S2:计算处理模块收集到相关要素信息后,通过缓冲区创建单元在内存中创建一个与整个客户区大小一致的对象。
缓冲区的建立,可以将运算处理模块的存储结果输出至缓冲区中,直至所有重绘图形要素全部输出完毕,将缓冲区中的内容统一调用操作***相应接口输出图形并释放缓冲区。因为串行处理的原因,对于每一个重绘图形单元运行一遍计算处理模块中除缓冲区释放单元的其他单元过程不可避免,然而这个过程并不是真正调用相关CPU图形输出指令,而真正调用传统意义上的显示过程只有该过程之后将缓冲区的内容全量输出的这一部分,这个部分对应一次重绘请求仅执行一次,而并非一般方法下的执行多次,这极大地优化了CPU资源配置。
S3:裁剪运算单元依据图形要素请求模块收集到的输出区域信息,裁剪缓冲区的大小并剔除在该输出区域之外的映射关系,在这些过程后对最终结果进行存储。需要特别说明的是,由于裁剪算法的特殊性,该步骤仅会剔除部分映射关系,即整个图形元素全部在输出区域之外的映射关系。
具体的,所述裁剪过程包含有:
a.对每个绘制的基准图形通过基于扫描线的方式求其外接矩形。扫描线,通俗来说,即指将显示器分割为若干块的等距水平线。基于扫描线求外接矩形的步骤如下:
①求交:计算扫描线与各边的交点(闭合与非闭合曲线同样适用)
②求极值:分别求出各交点以X值、y值为依据的最大最小值
③构建外接矩形:取4个极值点的坐标作为边界求出一个上底边与下底边皆为扫描线的矩形
b.对求出的外接矩形,与输出区域求交集,若交集为空则跳过进入下一***模块(步骤S6);若交集不为空,则进行步骤c。
c.对该绘制图形做光栅化运算。若b步骤中,所求交集的结果不为外接矩形本身,继续进行步骤S4。
若所求交集为外接矩形本身,则对光栅化运算的结果矩阵全部保存。
S4:计算处理模块收集到相关要素信息后,通过光栅化计算单元将各个待输出图形的几何参数转化为电脑显示参数,并保存转化后的坐标及颜色信息。
S5:裁剪运算单元对于光栅化计算单元得到的保存结果进行补充裁剪,逐个剔除光栅化计算结果仍在输出区域外的映射关系,并将最终结果进行保存。
S6:坐标转换单元对裁剪运算单元得到的最终存储结果进行坐标转换,将逻辑坐标信息转换为像素单元信息,并存储该结果。
S7:显示输出模块依据计算处理模块的存储结果,调用相应的操作***输出接口,经过CPU内部指令处理及显卡分配相关象元输出图形后,将重绘结果显示在显示器上。
S8:计算处理模块中的缓冲区释放单元在调用显示输出模块相应接口后,释放缓冲区占用内存。由于步骤S7为异步调用,故S8与S7同时进行。
在本申请的一个具体应用实例中,步骤S3至步骤S5,参见图11,具体包含有:
设目标重绘区域为R,绘制图形1的外接矩形区域为R1,与R求交集后得到的结果为空,直接忽略此图形。
接下来判断下一个绘制图形2的外接矩形区域R2,与R求交集后得到的结果不为R2本身,则对图形2做光栅化运算(步骤S4),得到光栅化矩阵,对该矩阵逐点判断(步骤S5)是否落在R区域内,若在R内,则修改R坐标矩阵的对应元素并保存结果,否则忽略当前像素继续判断下一个像素。
最后判断绘制图形3的外接矩形区域R3,与R求交集后得到的结果为R3本身,则对图形3做光栅化运算,得到的光栅化矩阵结果全部保存。综上,执行步骤S3之后,针对R3无需步骤S5,针对R1无需执行步骤S4和步骤S5。可以看到,因为这种裁剪方法的特殊性,本***在处理流程上有别于传统方式,先运行裁剪运算单元再运行光栅化计算单元,而后再次运行裁剪运算单元。
(三)采用两种绘制方式进行界面图形重绘的具体应用实例
在本申请的一个具体应用实例中,模拟对该界面发起重绘请求,参见图12和图13,重绘方式为两种:1.全客户区重绘2.选定客户区左上角500×500(单位:像素)矩形区域作为重绘输出区域,重绘区域为空缺的白色矩形部分。若采用传统重绘输出过程,调用操作***提供的图形输出基本调用接口,采用的是异步技术,可采用计时器记录其输出的时间,在本实例下,该时间较长,可被人工记录。
而采用本申请所述方法,是在内存中完成绘图过程,调用过程可被完整记录,所以采用日志的形式记录了其输出的时间,参见表1,第一段日志为选定整个客户区作为重绘输出区域的重绘请求发起时间和重绘行为结束时间。第二段为选定客户区500×500矩形区域作为重绘输出区域并使用裁剪方法的重绘请求发起时间和重绘行为结束时间。
表1
通过统计得到的输出时间参见表2,可以明显看到采用本申请所述方法能够显著提升UI重绘的输出效率。
表2
由上可以看出,在本申请实施例中,采用双缓冲技术,由于在内存中的绘制并不是真正输出到显示器上,避免了CPU因为显示而做出的频繁资源调度。当绘制的图形数目较多且较为复杂时,绘图可能需要几秒钟甚至更长的时间,该技术使得显示环节只用进行一次加载,即可将所有输出内容显示在显示器上,使得输出过程所占用的时间近乎忽略不计,显著降低了CPU资源的消耗,极大地提升了程序的效率。上述的裁剪过程,在大部分情况下规避了重绘区域外图形的光栅化处理(规避的覆盖率取决于外接矩形的获取方法,可进一步优化),能够避免瓶颈环节的非必要处理过程,使得处理过程CPU的负担极大降低,能够提升程序的效率。降低***底层的显示输出模块使用频率,降低CPU资源消耗。能够避免频繁的非必要性的光栅化计算造成的***性能损耗。
本申请提供的一种界面图形重绘的方法及装置的实施例具体可以用于执行上述实施例中的一种界面图形重绘的方法的实施例的处理流程,其功能在此不再赘述,可以参照上述方法实施例的详细描述。
从上述描述可知,本申请实施例提供的一种界面图形重绘的装置,能够降低界面图形重绘过程的CPU资源消耗并提高程序的效率。
本申请实施例提供一种电子设备,该电子设备可以是台式计算机、平板电脑及移动终端等,本实施例不限于此。在本实施例中,该电子设备可以参照上述实施例所述的界面图像重绘的装置,其内容被合并于此,重复之处不再赘述。
图14为本申请实施例的电子设备600的***构成的示意框图。如图14所示,该电子设备600可以包含有中央处理器100和存储器140;存储器140耦合到中央处理器100。值得注意的是,该图是示例性的;还可以使用其他类型的结构,来补充或代替该结构,以实现预控制功能或其他功能。
在本申请的一个实施例中,界面图形重绘的功能可以被集成到中央处理器100中。其中,中央处理器100可以被配置为进行如下控制:
步骤1000:获取显示器的客户区对应的待显示图形的要素信息,并在本地内存中建立与所述客户区大小相同的缓冲区,并将所述待显示图形的要素信息发送至该缓冲区,其中,所述待显示图形的要素信息包括:输出区域信息和绘制图像。
步骤2000:获取所述绘制图像的外接矩形,根据所述输出区域信息在所述缓冲区中确定对应的输出区域,并确定所述外接矩形与所述输出区域之间的位置关系。
步骤3000:若所述外接矩形完全在所述输出区域内,则将该外接矩形对应的绘制图像进行光栅化处理,并获取经该光栅化处理后的绘制图像对应的重绘电脑显示参数以在所述显示器中进行显示。
在另一个实施方式中,界面图像重绘的装置可以与中央处理器100分开配置,例如可以将界面图像重绘的装置配置为与中央处理器100连接的芯片,通过中央处理器的控制来实现提高界面图像重绘程序的效率。
如图14所示,该电子设备600还可以包含有:通信模块110、输入单元120、音频处理单元130、显示器160、电源170。值得注意的是,电子设备600也并不是必须要包含有图14中所示的所有部件;此外,电子设备600还可以包含有图14中没有示出的部件,可以参考现有技术。
如图14所示,中央处理器100有时也称为控制器或操作控件,可以包含有微处理器或其他处理器装置和/或逻辑装置,该中央处理器100接收输入并控制电子设备600的各个部件的操作。
其中,存储器140,例如可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种。可储存上述各设备给定参数有关的信息,此外还可存储执行有关信息的程序。并且中央处理器100可执行该存储器140存储的该程序,以实现信息存储或处理等。
输入单元120向中央处理器100提供输入。该输入单元120例如为按键或触摸输入装置。电源170用于向电子设备600提供电力。显示器160用于进行图像和文字等显示对象的显示。该显示器例如可为LCD显示器,但并不限于此。
该存储器140可以是固态存储器,例如,只读存储器(ROM)、随机存取存储器(RAM)、SIM卡等。还可以是这样的存储器,其即使在断电时也保存信息,可被选择性地擦除且设有更多数据,该存储器的示例有时被称为EPROM等。存储器140还可以是某种其它类型的装置。存储器140包含有缓冲存储器141(有时被称为缓冲器)。存储器140可以包含有应用/功能存储部142,该应用/功能存储部142用于存储应用程序和功能程序或用于通过中央处理器100执行电子设备600的操作的流程。
存储器140还可以包含有数据存储部143,该数据存储部143用于存储数据,例如联系人、数字数据、图片、声音和/或任何其他由电子设备使用的数据。存储器140的驱动程序存储部144可以包含有电子设备的用于通信功能和/或用于执行电子设备的其他功能(如消息传送应用、通讯录应用等)的各种驱动程序。
通信模块110即为经由天线111发送和接收信号的发送机/接收机110。通信模块(发送机/接收机)110耦合到中央处理器100,以提供输入信号和接收输出信号,这可以和常规移动通信终端的情况相同。
基于不同的通信技术,在同一电子设备中,可以设置有多个通信模块110,如蜂窝网络模块、蓝牙模块和/或无线局域网模块等。通信模块(发送机/接收机)110还经由音频处理器130耦合到扬声器131和麦克风132,以经由扬声器131提供音频输出,并接收来自麦克风132的音频输入,从而实现通常的电信功能。音频处理器130可以包含有任何合适的缓冲器、解码器、放大器等。另外,音频处理器130还耦合到中央处理器100,从而使得可以通过麦克风132能够在本机上录音,且使得可以通过扬声器131来播放本机上存储的声音。
上述描述可知,本申请的实施例提供的电子设备,能够使界面图形重绘过程CPU的负担极大降低,能够提升程序的效率。
本申请的实施例还提供能够实现上述实施例中的界面图形重绘的方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的界面图形重绘的方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
步骤1000:获取显示器的客户区对应的待显示图形的要素信息,并在本地内存中建立与所述客户区大小相同的缓冲区,并将所述待显示图形的要素信息发送至该缓冲区,其中,所述待显示图形的要素信息包括:输出区域信息和绘制图像。
步骤2000:获取所述绘制图像的外接矩形,根据所述输出区域信息在所述缓冲区中确定对应的输出区域,并确定所述外接矩形与所述输出区域之间的位置关系。
步骤3000:若所述外接矩形完全在所述输出区域内,则将该外接矩形对应的绘制图像进行光栅化处理,并获取经该光栅化处理后的绘制图像对应的重绘电脑显示参数以在所述显示器中进行显示。
从上述描述可知,本申请实施例提供的计算机可读存储介质,能够降低UI界面重绘过程中的CPU占有率损失以及显示时间上的损耗。
本申请中上述方法的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。相关之处参见方法实施例的部分说明即可。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本申请中应用了具体实施例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (20)
1.一种界面图形重绘的方法,其特征在于,包括:
获取显示器的客户区对应的待显示图形的要素信息,并在本地内存中建立与所述客户区大小相同的缓冲区,并将所述待显示图形的要素信息发送至该缓冲区,其中,所述待显示图形的要素信息包括:输出区域信息和绘制图像;
获取所述绘制图像的外接矩形,根据所述输出区域信息在所述缓冲区中确定对应的输出区域,并确定所述外接矩形与所述输出区域之间的位置关系;
若所述外接矩形完全在所述输出区域内,则将该外接矩形对应的绘制图像进行光栅化处理,并获取经该光栅化处理后的绘制图像对应的重绘电脑显示参数以在所述显示器中进行显示。
2.根据权利要求1所述的界面图形重绘的方法,其特征在于,还包括:
若所述绘制图像的外接矩形中的部分在所述输出区域外,则将该外接矩形对应的绘制图像进行光栅化处理,并获取经该光栅化处理后的绘制图像对应的重绘电脑显示参数,其中,所述重绘电脑显示参数包括:坐标在所述输出区域外的重绘电脑显示参数和坐标在所述输出区域内的重绘电脑显示参数;
对所述重绘电脑显示参数进行逐点判断,剔除所述坐标在所述输出区域外的重绘电脑显示参数,获取所述坐标在输出区域内的重绘电脑显示参数以在所述显示器中进行显示。
3.根据权利要求1或2所述的界面图形重绘的方法,其特征在于,还包括:
若所述绘制图像的外接矩形完全在所述输出区域外,则在缓冲区中剔除该绘制图像。
4.根据权利要求3所述的界面图形重绘的方法,其特征在于,所述获取所述绘制图像的外接矩形,包括:
获取扫描线和所述绘制图像各边的交点,其中,该扫描线是指将所述缓冲区分割为若干块的等距水平线;
根据各交点横坐标的最大值和最小值,还有各交点纵坐标的最大值和最小值,获取四个极值点;
将所述四个极值点作为边界,获取所述绘制图像的外接矩形。
5.根据权利要求1所述的界面图形重绘的方法,其特征在于,所述绘制图像中的信息包括:绘制图像的坐标信息、几何参数和颜色信息。
6.根据权利要求5所述的界面图形重绘的方法,其特征在于,所述获取经该光栅化处理后的绘制图像对应的重绘电脑显示参数以在所述显示器中进行显示,包括:
根据所述绘制图像的坐标信息,对所述重绘电脑显示参数进行坐标转化,将逻辑坐标信息转换为像素单元信息,并存储该坐标转化后的结果;
调用本地操作***相对应的输出接口后,将所述坐标转化后的结果在本地CPU内部指令处理和显卡分配相关象元输出图像,以使显示器显示所述重绘电脑显示参数。
7.根据权利要求6所述的界面图形重绘的方法,其特征在于,所述绘制图像是一个或者多个;
若所述绘制图像是多个,则相对应的,在所述对所述重绘电脑显示参数进行坐标转化之后,还包括:
统一调用所述操作***对应的接口输出,以使输出步骤仅进行一次。
8.根据权利要求6所述的界面图形重绘的方法,其特征在于,在调用本地操作***相对应的输出接口的同时,还包括:释放所述缓冲区占用内存。
9.根据权利要求1所述的界面图形重绘的方法,其特征在于,所述重绘电脑显示参数包括:所述绘制图像转化后的坐标信息、几何参数和颜色信息。
10.一种界面图形重绘的装置,其特征在于,包括:
图像要素请求模块,用于获取显示器的客户区对应的待显示图形的要素信息,并在本地内存中建立与所述客户区大小相同的缓冲区,并将所述待显示图形的要素信息发送至该缓冲区,其中,所述待显示图形的要素信息包括:输出区域信息和绘制图像;
绘制模块,用于获取所述绘制图像的外接矩形,根据所述输出区域信息在所述缓冲区中确定对应的输出区域,并确定所述外接矩形与所述输出区域之间的位置关系;
处理模块,用于确定所述外接矩形与所述输出区域之间的位置关系,若所述外接矩形完全在所述输出区域内,则将该外接矩形对应的绘制图像进行光栅化处理,并获取经该光栅化处理后的绘制图像对应的重绘电脑显示参数以在所述显示器中进行显示。
11.根据权利要求10所述的界面图形重绘的装置,其特征在于,所述处理模块包括:
光栅化处理单元,用于若所述绘制图像的外接矩形中的部分在所述输出区域外,则将该外接矩形对应的绘制图像进行光栅化处理,并获取经该光栅化处理后的绘制图像对应的重绘电脑显示参数,其中,所述重绘电脑显示参数包括:坐标在所述输出区域外的重绘电脑显示参数和坐标在所述输出区域内的重绘电脑显示参数;
第一判断单元,用于对所述重绘电脑显示参数进行逐点判断,剔除所述坐标在所述输出区域外的重绘电脑显示参数,以使所述坐标在输出区域内的重绘电脑显示参数以在所述显示器中进行显示。
12.根据权利要求10或11所述的界面图形重绘的装置,其特征在于,所述处理模块还包括:第二判断单元,用于若所述绘制图像的外接矩形完全在所述输出区域外,则在缓冲区中剔除该绘制图像。
13.根据权利要求12所述的界面图形重绘的装置,其特征在于,所述绘制模块包括:
获取交点单元,用于获取扫描线和所述绘制图像各边的交点,其中,该扫描线是指将所述缓冲区分割为若干块的等距水平线;
获取极值点单元,用于根据各交点横坐标的最大值和最小值,还有各交点纵坐标的最大值和最小值,获取四个极值点;
绘制外接矩形单元,用于将所述四个极值点作为边界,获取所述绘制图像的外接矩形。
14.根据权利要求10所述的界面图形重绘的装置,其特征在于,所述绘制图像中的信息包括:绘制图像的坐标信息、几何参数和颜色信息。
15.根据权利要求14所述的界面图形重绘的装置,其特征在于,所述处理模块还包括:
坐标转换单元,用于根据所述绘制图像的坐标信息,对所述重绘电脑显示参数进行坐标转化,将逻辑坐标信息转换为像素单元信息,并存储该坐标转化后的结果;
输出显示单元,用于调用本地操作***相对应的输出接口后,将所述坐标转化后的结果在本地CPU内部指令处理和显卡分配相关象元输出图像,以使显示器显示所述重绘电脑显示参数。
16.根据权利要求15所述的界面图形重绘的装置,其特征在于,所述绘制图像是一个或者多个;
相对应的,所述输出显示单元,还用于若所述绘制图像是多个,则对所述重绘电脑显示参数进行坐标转化后,统一调用所述操作***对应的接口输出,以使输出步骤仅进行一次。
17.根据权利要求15所述的界面图形重绘的装置,其特征在于,所述处理模块,还包括:缓冲释放单元,用于在调用本地操作***相对应的输出接口的同时,释放所述缓冲区占用内存。
18.根据权利要求10所述的界面图形重绘的装置,其特征在于,所述重绘电脑显示参数,还包括:所述绘制图像转化后的坐标信息、几何参数和颜色信息。
19.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至9任一项所述的界面图形重绘的方法的步骤。
20.一种计算机可读存储介质,其上存储有计算机指令,其特征在于,所述指令被执行时实现权利要求1至9任一项所述的界面图形重绘的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910588026.5A CN110286992A (zh) | 2019-07-02 | 2019-07-02 | 界面图形重绘的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910588026.5A CN110286992A (zh) | 2019-07-02 | 2019-07-02 | 界面图形重绘的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110286992A true CN110286992A (zh) | 2019-09-27 |
Family
ID=68021639
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910588026.5A Pending CN110286992A (zh) | 2019-07-02 | 2019-07-02 | 界面图形重绘的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110286992A (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110737433A (zh) * | 2019-10-16 | 2020-01-31 | 李富科 | 一种c语言程序的图形显示方法及装置 |
CN110989905A (zh) * | 2019-12-18 | 2020-04-10 | 深圳市商汤科技有限公司 | 信息处理方法及装置、电子设备和存储介质 |
CN111598984A (zh) * | 2020-04-07 | 2020-08-28 | 厦门极致互动网络技术股份有限公司 | 一种游戏画面的渲染方法及装置 |
CN111813404A (zh) * | 2020-07-24 | 2020-10-23 | 广州彩熠灯光股份有限公司 | 基于混合图形显示的应用方法、介质及客户端 |
CN111862252A (zh) * | 2020-07-07 | 2020-10-30 | 博泰车联网(南京)有限公司 | 绘制地图的方法、终端和*** |
CN112508020A (zh) * | 2020-12-22 | 2021-03-16 | 深圳市商汤科技有限公司 | 标注方法及装置、电子设备和存储介质 |
CN112614209A (zh) * | 2020-12-30 | 2021-04-06 | 凌云光技术股份有限公司 | 一种流程图刷新时的元素重绘方法及*** |
CN112884864A (zh) * | 2021-01-21 | 2021-06-01 | 广州朗国电子科技有限公司 | 基于电子白板自动矫正矩形的绘图方法及其应用 |
CN113760414A (zh) * | 2020-06-02 | 2021-12-07 | 北京字节跳动网络技术有限公司 | 绘制图形的方法和装置 |
CN113900758A (zh) * | 2021-10-22 | 2022-01-07 | 广州博冠信息科技有限公司 | 内容显示方法、装置、计算机设备和计算机可读存储介质 |
CN114419193A (zh) * | 2022-01-24 | 2022-04-29 | 北京思明启创科技有限公司 | 图像绘制方法、装置、电子设备及计算机可读存储介质 |
CN116578376A (zh) * | 2023-07-12 | 2023-08-11 | 福昕鲲鹏(北京)信息科技有限公司 | 开放版式文档ofd页面显示方法、装置及设备 |
CN117032468A (zh) * | 2023-10-09 | 2023-11-10 | 深圳市微克科技有限公司 | 一种基于智能手环的圆角矩形绘制方法、***及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102004621A (zh) * | 2010-11-15 | 2011-04-06 | 华为技术有限公司 | 图形显示方法、装置和*** |
CN105224163A (zh) * | 2014-06-17 | 2016-01-06 | 北京新媒传信科技有限公司 | 界面显示方法和装置 |
CN105511890A (zh) * | 2016-01-29 | 2016-04-20 | 腾讯科技(深圳)有限公司 | 一种图形界面更新方法和装置 |
CN107045437A (zh) * | 2016-02-05 | 2017-08-15 | 阿里巴巴集团控股有限公司 | 一种实现批渲染的方法、装置和设备 |
-
2019
- 2019-07-02 CN CN201910588026.5A patent/CN110286992A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102004621A (zh) * | 2010-11-15 | 2011-04-06 | 华为技术有限公司 | 图形显示方法、装置和*** |
CN105224163A (zh) * | 2014-06-17 | 2016-01-06 | 北京新媒传信科技有限公司 | 界面显示方法和装置 |
CN105511890A (zh) * | 2016-01-29 | 2016-04-20 | 腾讯科技(深圳)有限公司 | 一种图形界面更新方法和装置 |
CN107045437A (zh) * | 2016-02-05 | 2017-08-15 | 阿里巴巴集团控股有限公司 | 一种实现批渲染的方法、装置和设备 |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110737433B (zh) * | 2019-10-16 | 2023-04-25 | 李富科 | 一种c语言程序的图形显示方法及装置 |
CN110737433A (zh) * | 2019-10-16 | 2020-01-31 | 李富科 | 一种c语言程序的图形显示方法及装置 |
CN110989905A (zh) * | 2019-12-18 | 2020-04-10 | 深圳市商汤科技有限公司 | 信息处理方法及装置、电子设备和存储介质 |
CN111598984A (zh) * | 2020-04-07 | 2020-08-28 | 厦门极致互动网络技术股份有限公司 | 一种游戏画面的渲染方法及装置 |
CN111598984B (zh) * | 2020-04-07 | 2023-06-16 | 厦门极致互动网络技术股份有限公司 | 一种游戏画面的渲染方法及装置 |
CN113760414A (zh) * | 2020-06-02 | 2021-12-07 | 北京字节跳动网络技术有限公司 | 绘制图形的方法和装置 |
CN113760414B (zh) * | 2020-06-02 | 2023-11-28 | 北京字节跳动网络技术有限公司 | 绘制图形的方法和装置 |
CN111862252A (zh) * | 2020-07-07 | 2020-10-30 | 博泰车联网(南京)有限公司 | 绘制地图的方法、终端和*** |
CN111813404B (zh) * | 2020-07-24 | 2024-04-26 | 广州彩熠灯光股份有限公司 | 基于混合图形显示的应用方法、介质及客户端 |
CN111813404A (zh) * | 2020-07-24 | 2020-10-23 | 广州彩熠灯光股份有限公司 | 基于混合图形显示的应用方法、介质及客户端 |
CN112508020A (zh) * | 2020-12-22 | 2021-03-16 | 深圳市商汤科技有限公司 | 标注方法及装置、电子设备和存储介质 |
CN112614209B (zh) * | 2020-12-30 | 2024-02-20 | 凌云光技术股份有限公司 | 一种流程图刷新时的元素重绘方法及*** |
CN112614209A (zh) * | 2020-12-30 | 2021-04-06 | 凌云光技术股份有限公司 | 一种流程图刷新时的元素重绘方法及*** |
CN112884864A (zh) * | 2021-01-21 | 2021-06-01 | 广州朗国电子科技有限公司 | 基于电子白板自动矫正矩形的绘图方法及其应用 |
CN113900758B (zh) * | 2021-10-22 | 2023-09-12 | 广州博冠信息科技有限公司 | 内容显示方法、装置、计算机设备和计算机可读存储介质 |
CN113900758A (zh) * | 2021-10-22 | 2022-01-07 | 广州博冠信息科技有限公司 | 内容显示方法、装置、计算机设备和计算机可读存储介质 |
CN114419193B (zh) * | 2022-01-24 | 2023-03-10 | 北京思明启创科技有限公司 | 图像绘制方法、装置、电子设备及计算机可读存储介质 |
CN114419193A (zh) * | 2022-01-24 | 2022-04-29 | 北京思明启创科技有限公司 | 图像绘制方法、装置、电子设备及计算机可读存储介质 |
CN116578376A (zh) * | 2023-07-12 | 2023-08-11 | 福昕鲲鹏(北京)信息科技有限公司 | 开放版式文档ofd页面显示方法、装置及设备 |
CN117032468A (zh) * | 2023-10-09 | 2023-11-10 | 深圳市微克科技有限公司 | 一种基于智能手环的圆角矩形绘制方法、***及介质 |
CN117032468B (zh) * | 2023-10-09 | 2024-05-31 | 深圳市微克科技股份有限公司 | 一种基于智能手环的圆角矩形绘制方法、***及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110286992A (zh) | 界面图形重绘的方法及装置 | |
JP4824687B2 (ja) | 図形データのキャッシュ効率的なラスター化 | |
US8111264B2 (en) | Method of and system for non-uniform image enhancement | |
US7542049B2 (en) | Hardware accelerated anti-aliased primitives using alpha gradients | |
US20100188404A1 (en) | Single-pass bounding box calculation | |
CN111737019B (zh) | 一种显存资源的调度方法、装置及计算机存储介质 | |
CN112905326B (zh) | 任务处理方法及装置 | |
CN112529995B (zh) | 图像渲染计算方法、装置、存储介质以及终端 | |
CN112370783B (zh) | 虚拟对象渲染方法、装置、计算机设备和存储介质 | |
CN103150699A (zh) | 图形指令生成装置和图形指令生成方法 | |
AU2015258334A1 (en) | Method, apparatus and system for dithering an image | |
CN110471731A (zh) | 显示界面绘制方法、装置、电子设备及计算机可读介质 | |
CN107122176A (zh) | 一种图形绘制方法及装置 | |
CN114782605A (zh) | 毛发虚拟模型的渲染方法、装置、计算机设备及存储介质 | |
WO2017047348A1 (ja) | プレイヤの意図を予測してレンダリングするためのリソース配分を決定するプログラム、電子装置、システム及び方法 | |
CN117455753B (zh) | 特效模板生成方法、特效生成方法、装置及存储介质 | |
US11250611B1 (en) | Graphics processing | |
CN109710365A (zh) | 一种弹幕显示方法、装置、电子设备及介质 | |
JP5864474B2 (ja) | 空間を分割してグラフィックスを処理する画像処理装置及び画像処理方法 | |
CN115761091A (zh) | 游戏画面渲染方法、装置、电子设备和存储介质 | |
US11017505B2 (en) | System and method for applying antialiasing to images | |
CN116982069A (zh) | 用于灵活图形增强和执行的方法和*** | |
CN115035231A (zh) | 阴影烘焙方法、装置、电子设备和存储介质 | |
US11651548B2 (en) | Method and apparatus for computer model rasterization | |
JP2011165062A (ja) | 描画処理装置、描画処理方法、及びプログラム |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190927 |
|
RJ01 | Rejection of invention patent application after publication |