CN106600656A - 图形渲染方法和装置 - Google Patents
图形渲染方法和装置 Download PDFInfo
- Publication number
- CN106600656A CN106600656A CN201611052706.8A CN201611052706A CN106600656A CN 106600656 A CN106600656 A CN 106600656A CN 201611052706 A CN201611052706 A CN 201611052706A CN 106600656 A CN106600656 A CN 106600656A
- Authority
- CN
- China
- Prior art keywords
- drafting
- decompression
- instruction
- queue
- stored
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
-
- 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/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
Abstract
本发明涉及一种图形渲染方法和装置,该方法包括并行执行的解压过程和绘制过程,其中:所述解压过程包括第一存储操作和解压操作,所述第一存储操作包括在接收到绘制指令时,将所述绘制指令存储至解压队列中;所述解压操作包括对所述解压队列中需要解压缩的绘制执行进行解压缩;所述绘制过程包括第二存储操作和绘制操作,所述第二存储操作包括将所述解压过程得到的绘制指令存储至绘制队列中,所述绘制操作包括根据所述绘制队列中存储的绘制指令进行图形绘制,并将绘制结果渲染至显示屏上。本发明提供的图形渲染方法和装置不仅能够提高客户端的处理速度,提高渲染性能,也可以提高用户体验。
Description
技术领域
本发明涉及虚拟机技术领域,尤其是涉及一种图形渲染方法和装置。
背景技术
近年来,随着云计算技术的发展和普及,虚拟机技术越来越受到人们的关注,并逐渐应用到日常的工作和学习中。在虚拟机技术中,图形渲染是非常重要的一个环节。由于虚拟机处于服务器端,其图形和界面的显示要在客户端实现,因此服务器端需要将要显示的界面以绘制命令的形式通过网络传输至客户端。由于网络传输的特性,所传输的数据量越小越好,因此在传输过程中,需要在服务器端进行压缩,传输至客户端再进行解压和绘制。
目前,如图1所示,客户端当收到绘制命令时,会依据绘制命令的种类去调用绘制方法进行绘制,当需要用到压缩的图像时,再调用解压方法,将图像解压出来。上述方法造成了在解压过程中,整个绘制方法处于等待状态,而解压恰恰是客户端比较耗时的操作,因此造成了绘制的滞后,导致客户端渲染过程比较耗时,影响了虚拟机的性能和用户体验。
发明内容
针对以上缺陷,本发明提供一种图形渲染方法和装置,可以提高渲染性能和用户体验。
第一方面,本发明提供的图形渲染方法包括并行执行的解压过程和绘制过程,其中:所述解压过程包括第一存储操作和解压操作,所述第一存储操作包括在接收到绘制指令时,将所述绘制指令存储至解压队列中;所述解压操作包括对所述解压队列中需要解压缩的绘制执行进行解压缩;所述绘制过程包括第二存储操作和绘制操作,所述第二存储操作包括将所述解压过程得到的绘制指令存储至绘制队列中,所述绘制操作包括根据所述绘制队列中存储的绘制指令进行图形绘制,并将绘制结果渲染至显示屏上。
可选的,所述解压过程的第一存储操作和解压操作并行执行;和/或,所述绘制过程的第二存储操作和绘制操作并行执行。
可选的,所述方法还包括与所述解压过程和所述绘制过程并行执行的监听过程,所述监听过程包括对网络接口进行监听,并接收所监听到的绘制指令。
可选的,所述解压操作具体包括:从所述解压队列中取出绘制指令,并分析所取出的绘制指令的绘制类型;根据所述绘制类型,判断所取出的绘制指令是否需要解压缩,若是,则对所取出的绘制指令进行解压缩;对应的;所述第二存储操作具体包括:将解压缩后得到的绘制指令存储至所述绘制队列中,或者将所取出的不需要解压缩的绘制指令存储至所述绘制队列中。
可选的,所述根据所述绘制队列中存储的绘制指令进行图形绘制包括:根据所述绘制指令的绘制类型,调用相应的绘制函数进行绘制。
第二方面,本发明提供的图形渲染装置包括并行执行的解压模块和绘制模块,其中:所述解压模块包括第一存储单元和解压单元,所述第一存储单元用于在接收到绘制指令时,将所述绘制指令存储至解压队列中;所述解压单元用于对所述解压队列中需要解压缩的绘制执行进行解压缩;所述绘制模块包括第二存储单元和绘制单元,所述第二存储单元用于将所述解压过程得到的绘制指令存储至绘制队列中,所述绘制单元用于根据所述绘制队列中存储的绘制指令进行图形绘制,并将绘制结果渲染至显示屏上。
可选的,所述解压模块的第一存储单元和解压单元并行执行;和/或,所述绘制模块的第二存储单元和绘制单元并行执行。
可选的,所述装置还包括与所述解压模块和所述绘制模块并行执行的监听模块,所述监听模块用于对网络接口进行监听,并接收所监听到的绘制指令。
可选的,所述解压单元具体用于:从所述解压队列中取出绘制指令,并分析所取出的绘制指令的绘制类型;根据所述绘制类型,判断所取出的绘制指令是否需要解压缩,若是,则对所取出的绘制指令进行解压缩;对应的;所述第二存储单元具体用于:将解压缩后得到的绘制指令存储至所述绘制队列中,或者将所取出的不需要解压缩的绘制指令存储至所述绘制队列中。
可选的,所述绘制单元用具体用于:根据所述绘制指令的绘制类型,调用相应的绘制函数进行绘制。
本发明提供的图形渲染方法和装置,解压过程和绘制过程并行执行,也就是说,当执行将接收到的绘制指令存储至解压队列中或者对解压队列中已经存储的需要解压缩的绘制指令进行解压缩的解压过程时,也同时进行着将已经完成解压缩处理得到的绘制指令存储至绘制队列或者根据已经存储至绘制队列中的绘制指令进行图形绘制的绘制过程。在执行解压过程的同时,也执行绘制过程,而不是处于等待状态,这样不仅能够提高客户端的处理速度,提高渲染性能,也可以提高用户体验。
附图说明
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些图获得其他的附图。
图1示出了一种现有图形渲染方法的流程示意图;
图2示出了本发明一实施例中图形渲染方法的流程示意图。
具体实施方式
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
第一方面,本发明提供一种图形渲染方法,该方法适于在虚拟机的客户端应用,如图2所示,该方法包括并行执行的解压过程和绘制过程,其中:
所述解压过程包括第一存储操作和解压操作,所述第一存储操作包括在接收到绘制指令时,将所述绘制指令存储至解压队列中;所述解压操作包括对所述解压队列中需要解压缩的绘制指令进行解压缩;
所述绘制过程包括第二存储操作和绘制操作,所述第二存储操作包括将所述解压过程得到的绘制指令存储至绘制队列中,所述绘制操作包括根据所述绘制队列中存储的绘制指令进行图形绘制,并将绘制结果渲染至显示屏上。
可理解的是,虚拟机客户端均包括一个解压队列和绘制队列,解压队列用来存放服务端传送来的绘制指令,绘制队列用来存储解压过程后得到的绘制指令。
可理解的是,解压过程和绘制过程并行执行,也就是说,当执行将接收到的绘制指令存储至解压队列中或者对解压队列中已经存储的需要解压缩的绘制指令进行解压缩的解压过程时,也同时进行着将已经完成解压缩处理得到的绘制指令存储至绘制队列或者根据已经存储至绘制队列中的绘制指令进行图形绘制的绘制过程。实际上上述并行执行的方式为一种多线程处理方式。
举例来说,当客户端接收到第n+1条绘制指令时,对接收到的第n+1条绘制指令执行解压过程,若此时第n条绘制指令的解压过程已经完成,则可以在执行第n+1条绘制指令的解压过程的同时执行第n条绘制指令的绘制过程。
本发明提供的图形渲染方法,将解压过程和绘制过程并行处理,在执行解压过程的同时,也执行绘制过程,而不是处于等待状态,这种多线程处理方式不仅能够提高客户端的处理速度,提高渲染性能,也可以提高用户体验。
在具体实施时,为了进一步提高客户端的处理速度,还可以使解压过程的第一存储操作和解压操作并行执行;和/或,所述绘制过程的第二存储操作和绘制操作并行执行。也就是说,在进行第一存储操作的同时也进行解压操作,和/或,在进行第二存储操作的同时也进行绘制操作。
举例来说,当客户端接收到第n+1条绘制指令时,将接收到的第n+1条绘制指令存储至解压队列中,与此同时,对存储在解压队列中的第n条绘制指令进行解压缩操作。和/或,当客户端对解压缩处理后的第n+1条绘制指令存储至绘制队列中,与此同时,根据绘制队列中的第n条绘制指令,进行图形绘制。
可理解的是,绘制指令是由虚拟机的服务端发送来的,因此客户端需要接收后才能执行解压过程和绘制过程,因此本发明提供的图形渲染方法还可以包括监听过程,具体为:对客户端的网络接口进行监听,并接收所监听到的绘制指令。为了进一步提交客户端的处理速度,还可以将监听过程、解压过程和绘制过程并行执行,并行的监听过程、解压过程和绘制过程使得图形的渲染形成指令流水线。
在具体实施时,上述解压操作可以具体包括:从所述解压队列中取出绘制指令,并分析所取出的绘制指令的绘制类型;根据所述绘制类型,判断所取出的绘制指令是否需要解压缩,若是,则对所取出的绘制指令进行解压缩;对应的;所述第二存储操作具体包括:将解压缩后得到的绘制指令存储至所述绘制队列中,或者将所取出的不需要解压缩的绘制指令存储至所述绘制队列中。
这里,在执行解压操作时,对绘制指令是否需要解压缩进行判断,然后对需要解压缩的绘制指令才执行解压缩处理,然后才能存储至绘制队列中,而对于不需要解压缩的绘制指令可以直接存储至绘制队列中。目前的绘制指令有多种,例如矩形纯色填充指令、字体绘制指令、图像填充指令、图像拷贝填充指令、图像混合指令等。而对于其中涉及到图片渲染的指令中的图片资源需要进行解压缩,而对于其他指令不需要解压缩,因此这里通根据绘制类型进行判断,然后采用不同的方式进行处理,可以进一步提高处理速度。
在具体实施时,在上述绘制操作中,可以从绘制队列中取出绘制指令,然后根据绘制指令的绘制类型,调整相应的绘制函数的方式进行绘制,当然还可以采用其他的方式实现图形的绘制,对此本发明不做限定。
基于相同的发明构思,本发明还提供一种图形渲染装置,该装置包括并行执行的解压模块和绘制模块,其中:
所述解压模块包括第一存储单元和解压单元,所述第一存储单元用于在接收到绘制指令时,将所述绘制指令存储至解压队列中;所述解压单元用于对所述解压队列中需要解压缩的绘制执行进行解压缩;
所述绘制模块包括第二存储单元和绘制单元,所述第二存储单元用于将所述解压过程得到的绘制指令存储至绘制队列中,所述绘制单元用于根据所述绘制队列中存储的绘制指令进行图形绘制,并将绘制结果渲染至显示屏上。
可选的,所述解压模块的第一存储单元和解压单元并行执行;和/或,所述绘制模块的第二存储单元和绘制单元并行执行。
可选的,本发明提供的装置还包括与所述解压模块和所述绘制模块并行执行的监听模块,所述监听模块用于对网络接口进行监听,并接收所监听到的绘制指令。
可选的,所述解压单元具体用于:
从所述解压队列中取出绘制指令,并分析所取出的绘制指令的绘制类型;根据所述绘制类型,判断所取出的绘制指令是否需要解压缩,若是,则对所取出的绘制指令进行解压缩;对应的;
所述第二存储单元具体用于:
将解压缩后得到的绘制指令存储至所述绘制队列中,或者将所取出的不需要解压缩的绘制指令存储至所述绘制队列中。
可选的,所述绘制单元用具体用于:根据所述绘制指令的绘制类型,调用相应的绘制函数进行绘制。
可理解的是,本发明提供的图形渲染装置为与本发明提供的图形渲染方法的功能架构模块,其有关内容的解释、举例说明、有益效果等内容可以参考本发明提供的图形渲染方法中的相应内容,这里不再赘述。
本发明的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解;其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种图形渲染方法,其特征在于,包括并行执行的解压过程和绘制过程,其中:
所述解压过程包括第一存储操作和解压操作,所述第一存储操作包括在接收到绘制指令时,将所述绘制指令存储至解压队列中;所述解压操作包括对所述解压队列中需要解压缩的绘制执行进行解压缩;
所述绘制过程包括第二存储操作和绘制操作,所述第二存储操作包括将所述解压过程得到的绘制指令存储至绘制队列中,所述绘制操作包括根据所述绘制队列中存储的绘制指令进行图形绘制,并将绘制结果渲染至显示屏上。
2.根据权利要求1所述的方法,其特征在于,所述解压过程的第一存储操作和解压操作并行执行;和/或,所述绘制过程的第二存储操作和绘制操作并行执行。
3.根据权利要求1所述的方法,其特征在于,还包括与所述解压过程和所述绘制过程并行执行的监听过程,所述监听过程包括对网络接口进行监听,并接收所监听到的绘制指令。
4.根据权利要求1所述的方法,其特征在于,
所述解压操作具体包括:
从所述解压队列中取出绘制指令,并分析所取出的绘制指令的绘制类型;根据所述绘制类型,判断所取出的绘制指令是否需要解压缩,若是,则对所取出的绘制指令进行解压缩;对应的;
所述第二存储操作具体包括:
将解压缩后得到的绘制指令存储至所述绘制队列中,或者将所取出的不需要解压缩的绘制指令存储至所述绘制队列中。
5.根据权利要求1所述的方法,其特征在于,所述根据所述绘制队列中存储的绘制指令进行图形绘制包括:
根据所述绘制指令的绘制类型,调用相应的绘制函数进行绘制。
6.一种图形渲染装置,其特征在于,包括并行执行的解压模块和绘制模块,其中:
所述解压模块包括第一存储单元和解压单元,所述第一存储单元用于在接收到绘制指令时,将所述绘制指令存储至解压队列中;所述解压单元用于对所述解压队列中需要解压缩的绘制执行进行解压缩;
所述绘制模块包括第二存储单元和绘制单元,所述第二存储单元用于将所述解压过程得到的绘制指令存储至绘制队列中,所述绘制单元用于根据所述绘制队列中存储的绘制指令进行图形绘制,并将绘制结果渲染至显示屏上。
7.根据权利要求6所述的装置,其特征在于,所述解压模块的第一存储单元和解压单元并行执行;和/或,所述绘制模块的第二存储单元和绘制单元并行执行。
8.根据权利要求6所述的装置,其特征在于,还包括与所述解压模块和所述绘制模块并行执行的监听模块,所述监听模块用于对网络接口进行监听,并接收所监听到的绘制指令。
9.根据权利要求6所述的装置,其特征在于,
所述解压单元具体用于:
从所述解压队列中取出绘制指令,并分析所取出的绘制指令的绘制类型;根据所述绘制类型,判断所取出的绘制指令是否需要解压缩,若是,则对所取出的绘制指令进行解压缩;对应的;
所述第二存储单元具体用于:
将解压缩后得到的绘制指令存储至所述绘制队列中,或者将所取出的不需要解压缩的绘制指令存储至所述绘制队列中。
10.根据权利要求6所述的装置,其特征在于,所述绘制单元用具体用于:根据所述绘制指令的绘制类型,调用相应的绘制函数进行绘制。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611052706.8A CN106600656A (zh) | 2016-11-24 | 2016-11-24 | 图形渲染方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611052706.8A CN106600656A (zh) | 2016-11-24 | 2016-11-24 | 图形渲染方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106600656A true CN106600656A (zh) | 2017-04-26 |
Family
ID=58593296
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611052706.8A Pending CN106600656A (zh) | 2016-11-24 | 2016-11-24 | 图形渲染方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106600656A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109213607A (zh) * | 2017-06-30 | 2019-01-15 | 武汉斗鱼网络科技有限公司 | 一种多线程渲染的方法和装置 |
CN109558187A (zh) * | 2017-09-27 | 2019-04-02 | 阿里巴巴集团控股有限公司 | 一种用户界面渲染方法及装置 |
CN109710873A (zh) * | 2018-12-28 | 2019-05-03 | 北京微播视界科技有限公司 | 客户端的图片加载显示方法、装置及电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101067827A (zh) * | 2007-06-14 | 2007-11-07 | 上海创图网络科技发展有限公司 | 一种基于浏览器的三维网页实现方法 |
CN103024517A (zh) * | 2012-12-17 | 2013-04-03 | 四川九洲电器集团有限责任公司 | 一种基于并行处理的流媒体音视频同步播放方法 |
CN103631565A (zh) * | 2013-11-13 | 2014-03-12 | 北京像素软件科技股份有限公司 | 场景资源的加载方法和加载装置 |
CN104063892A (zh) * | 2013-03-20 | 2014-09-24 | 北京麒麟网文化股份有限公司 | 图形渲染方法和系统、通用游戏支撑平台 |
-
2016
- 2016-11-24 CN CN201611052706.8A patent/CN106600656A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101067827A (zh) * | 2007-06-14 | 2007-11-07 | 上海创图网络科技发展有限公司 | 一种基于浏览器的三维网页实现方法 |
CN103024517A (zh) * | 2012-12-17 | 2013-04-03 | 四川九洲电器集团有限责任公司 | 一种基于并行处理的流媒体音视频同步播放方法 |
CN104063892A (zh) * | 2013-03-20 | 2014-09-24 | 北京麒麟网文化股份有限公司 | 图形渲染方法和系统、通用游戏支撑平台 |
CN103631565A (zh) * | 2013-11-13 | 2014-03-12 | 北京像素软件科技股份有限公司 | 场景资源的加载方法和加载装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109213607A (zh) * | 2017-06-30 | 2019-01-15 | 武汉斗鱼网络科技有限公司 | 一种多线程渲染的方法和装置 |
CN109558187A (zh) * | 2017-09-27 | 2019-04-02 | 阿里巴巴集团控股有限公司 | 一种用户界面渲染方法及装置 |
CN109710873A (zh) * | 2018-12-28 | 2019-05-03 | 北京微播视界科技有限公司 | 客户端的图片加载显示方法、装置及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110227259B (zh) | 一种数据处理的方法、装置、服务器和系统 | |
CN102164167B (zh) | 一种用于远程控制的分类传输方法和系统 | |
CN105426191B (zh) | 用户界面显示处理方法及装置 | |
CN106600656A (zh) | 图形渲染方法和装置 | |
CN107071331A (zh) | 图像显示方法、装置和系统、存储介质及处理器 | |
CN105005568B (zh) | 基于模板的web页面前端处理装置及方法 | |
US9948524B2 (en) | Network element diagnostic evaluation | |
CN106454402B (zh) | 转码任务调度方法和装置 | |
CN106712992A (zh) | 一种云管理方法和系统 | |
CN106846495A (zh) | 实现增强现实的方法与装置 | |
CN105190530B (zh) | 传输硬件渲染的图形数据 | |
CN107509051A (zh) | 远程控制方法、装置、终端及计算机可读存储介质 | |
CN108810170A (zh) | 资源配置方法及系统 | |
CN108600331A (zh) | 交互界面呈现方法、客户端、终端及系统 | |
DE112020003578B4 (de) | Mindern von bedrohungen von arbeitslasten auf grundlage von containern | |
CN106713042A (zh) | 一种确定网络拓扑方法及装置 | |
CN106557426A (zh) | 一种用于分析Android端应用运行流畅度的方法和系统 | |
CN110442635A (zh) | 一种数据处理方法、装置、设备及存储介质 | |
CN111654525A (zh) | 混合云管理方法、装置、设备及介质 | |
CN102723093B (zh) | 一种图像文件的缓存方法 | |
CN104144212B (zh) | 一种虚拟桌面图像传输方法、装置及系统 | |
CN104020849A (zh) | 基于Windows CE的多程序同时显示方法及系统 | |
CN106941530A (zh) | 一种静态资源请求处理方法及装置 | |
CN114757159A (zh) | 一种多功能数据表格组件的封装开发方法及系统 | |
CN107070872A (zh) | 一种用于客户端的数据处理方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170426 |
|
RJ01 | Rejection of invention patent application after publication |