CN106201401A - 用于虚拟桌面呈现的3d图像加速显示方法 - Google Patents
用于虚拟桌面呈现的3d图像加速显示方法 Download PDFInfo
- Publication number
- CN106201401A CN106201401A CN201610534634.4A CN201610534634A CN106201401A CN 106201401 A CN106201401 A CN 106201401A CN 201610534634 A CN201610534634 A CN 201610534634A CN 106201401 A CN106201401 A CN 106201401A
- Authority
- CN
- China
- Prior art keywords
- rendering
- virtual desktop
- view data
- rectangular envelope
- display packing
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
- G06F3/1454—Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- General Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Image Generation (AREA)
Abstract
本发明涉及一种用于虚拟桌面呈现的3D图像加速显示方法,包括步骤:S1:根据3D图像和显示角度,确定当前画幅中所需要显示图像;S2:确定所需要显示图像的一个或多个最小矩形包络,并对所有矩形包络中的图像数据进行压缩;S3:将压缩后的图像数据,以及对应矩形包络的尺寸和位置发送至客户端;S4:客户端对压缩后的图像数据进行解压,并由GPU根据解压后的图像数据以及对应矩形包络的尺寸和位置进行渲染,并对3D图像进行显示。与现有技术相比,本发明采用差异更新策略,渲染过程由GPU进行,解放了CPU,解决虚拟桌面呈现设备的3D图像渲染性能不足的问题,提高设备在高帧率场景下的流畅度,提升用户体验。
Description
技术领域
本发明涉及一种虚拟桌面技术,尤其是涉及一种用于虚拟桌面呈现的3D图像加速显示方法。
背景技术
目前的虚拟桌面的客户端设备中的3D图像渲染主要是利用纯软件方法完成。即将从服务器端接收的经无损压缩后的3
D图像流一帧一帧的传输到客户端,在客户端软件解压后直接渲染到屏幕上。该方式渲染速度缓慢,且占用大量的内存带宽,对整体性能拖累较大,给用户最直观的感受便是视频播放等高帧率场景下很不流畅。
发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种用于虚拟桌面呈现的3D图像加速显示方法。
本发明的目的可以通过以下技术方案来实现:
一种用于虚拟桌面呈现的3D图像加速显示方法,包括步骤:
S1:根据3D图像和显示角度,确定当前画幅中所需要显示图像;
S2:确定所需要显示图像的一个或多个最小矩形包络,并对所有矩形包络中的图像数据进行压缩;
S3:将压缩后的图像数据,以及对应矩形包络的尺寸和位置发送至客户端;
S4:客户端对压缩后的图像数据进行解压,并由GPU根据解压后的图像数据以及对应矩形包络的尺寸和位置进行渲染,并对3D图像进行显示。
所述步骤S2具体包括步骤:
S21:确定所需要显示图像中的所有图像变更区域;
S12:基于图像变更区域确定一个或多个矩形包络,使得所有矩形包络的总面积最小。
所述步骤S4具体包括步骤:
S41:客户端接收压缩后的图像数据后,由CPU对其进行解压,并将解压后的数据存放于系统内存中;
S42:DMA控制器控制系统内存中存放的解压后的图像数据,以及对应矩形包络的尺寸和位置传输至GPU中;
S43:GPU根据解压后的图像数据以及对应矩形包络的尺寸和位置进行渲染;
S44:对3D图像进行显示。
所述步骤S42的过程中,DMA控制器接管系统总线的控制权。
所述步骤S42的过程中,DMA控制器和CPU交替访问系统内存。
所述系统内存为物理内存和/或虚拟内存。
矩形包络的尺寸为长宽。
矩形包络的位置为坐标。
与现有技术相比,本发明具有以下优点:
1)采用差异更新策略,对变更的区域,计算其最小矩形包络,并对这些变更的区域才进行计算,渲染过程由GPU进行,解放了CPU,解决虚拟桌面呈现设备的3D图像渲染性能不足的问题,提高设备在高帧率场景下的流畅度,提升用户体验。
2)由服务端根据3D图像和显示角度,确定当前画幅中所需要显示图像,减轻了客户端的负荷。
3)数据从内存中到GPU中的过程采用了DMA方式,这种方式可以不需要CPU来执行中转,因此CPU可以处理自己的计算任务,不会被拖累,提高了CPU的效率。
4)采用DMA和CPU交替访问系统内存的方式,CPU既不停止主程序的运行,也不进入等待状态,可以更加高效。
附图说明
图1为本发明方法的主要步骤流程示意图;
图2为本发明实现系统的组成结构示意图;
其中1、CPU,2、GPU,3、DMA控制器,4、系统内存,5、SoC,6、系统总线。
具体实施方式
下面结合附图和具体实施例对本发明进行详细说明。本实施例以本发明技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
如果用GPU来渲染网页上的视觉相关的内容,无疑会更具效率并且节约系统资源。现在软件工业已经朝着这个目标行进,比较有代表性的技术方案包括浏览器层级的完全GPU加速与通过OpenVG API的部分加速。采用完全GPU加速技术的便是正在开发的Firefox3.0,它采用Gecko 2.0网页排版引擎,而在基础的2D图形库方面,Gecko 2.0将逐渐抛弃传统的软件实现方案,转而采用“Cario(开罗)”2D图形引擎。Cairo引擎基于OpenGL API构建,即采用OpenGL渲染指令,让显卡来完成2D图形图像的绘制。如此一来,基于Cecko 2.0引擎的Firefox 3.0浏览器便具有GPU硬件加速支持,网页所显示的内容,包括图形图像、Flash动画等各类视觉元素都由GPU负责处理,由此大幅度减轻了CPU的负担,让网页浏览工作变得更加轻松。除了Firefox 3.0之外,任何其他基于Gecko 2.0排版引擎的浏览器产品都能够支持这一功能。
另外,继支持函数绘制之后,Google搜索更进一步,现在它们可以直接显示3D的函数图形了,你可以输入任何两个变量,即可直接看到动态的,互动的三维图形。你可以用鼠标点击,旋转到任何你想看的角度,或是缩放到合适的大小。
该功能用到了WebGL技术,可以在浏览器里利用硬件加速来绘制3D图形,而且你不需要安装任何附加软件或插件。Chrome和Firefox都支持WebGL技术。
WebGL是一种3D绘图标准,这种绘图技术标准允许把JavaScript和OpenGL ES 2.0结合在一起,通过增加OpenGL ES 2.0的一个JavaScript绑定,WebGL可以为HTML5Canvas提供硬件3D加速渲染,这样Web开发人员就可以借助系统显卡来在浏览器里更流畅地展示3D场景和模型了,还能创建复杂的导航和数据视觉化。
为了实现本申请,如图2所示,客户端的SoC 5包含CPU 1、GPU 2以及DMA控制器3,CPU 1、GPU 2以及DMA控制器均与系统总线6连接,此外系统内存4也连接至系统总线6。
一种用于虚拟桌面呈现的3D图像加速显示方法,如图1所示,包括:
S1:根据3D图像和显示角度,确定当前画幅中所需要显示图像;
S2:确定所需要显示图像的一个或多个最小矩形包络,并对所有矩形包络中的图像数据进行压缩,具体包括步骤:
S21:确定所需要显示图像中的所有图像变更区域;
S12:基于图像变更区域确定一个或多个矩形包络,使得所有矩形包络的总面积最小。
最小矩形包络的确定算法不属于本申请的讨论范畴,本领域技术人员可以根据步骤S12中提出的要求自行选择合适的算法。
S3:将压缩后的图像数据,以及对应矩形包络的尺寸和位置发送至客户端,其中矩形包络的尺寸为长宽,位置为坐标;
S4:客户端对压缩后的图像数据进行解压,并由GPU 2根据解压后的图像数据以及对应矩形包络的尺寸和位置进行渲染,并对3D图像进行显示,具体包括步骤:
S41:客户端接收压缩后的图像数据后,由CPU 1对其进行解压,并将解压后的数据存放于系统内存4中,其中,系统内存4为物理内存和/或虚拟内存,具体由操作系统安排控制;
S42:DMA控制器3控制系统内存4中存放的解压后的图像数据,以及对应矩形包络的尺寸和位置传输至GPU 1中,在DMA控制的过程中,DMA控制器3接管系统总线6的控制权,更优的,DMA控制器3和CPU 1交替访问系统内存4;
S43:GPU 1根据解压后的图像数据以及对应矩形包络的尺寸和位置进行渲染;
S44:对3D图像进行显示。
本申请主要使用客户端SoC 5内的硬件GPU 2进行3D图形的渲染,该模块会利用DMA的方式直接将3D图像将GPU 2解码完成的数据流输出到客户端虚拟桌面呈现设备上,而不再通过软件方式由CPU 1完成3D图形的解码和渲染。
本申请充分利用客户端设备的GPU硬件加速功能以及DMA控制器的空能来提升3D图形显示速度,将图形数据流由客户端的GPU硬件模块直接渲染,整个过程节省了大量的内存带宽和CPU占用,一方面在计算资源本就紧张的客户端设备上节省下大量的CPU 1计算资源,另一方面也极大地提高了显示速度,硬件拷贝的速度是远快于软件拷贝,实现低成本与高性能的统一。
Claims (8)
1.一种用于虚拟桌面呈现的3D图像加速显示方法,其特征在于,包括步骤:
S1:根据3D图像和显示角度,确定当前画幅中所需要显示图像;
S2:确定所需要显示图像的一个或多个最小矩形包络,并对所有矩形包络中的图像数据进行压缩;
S3:将压缩后的图像数据,以及对应矩形包络的尺寸和位置发送至客户端;
S4:客户端对压缩后的图像数据进行解压,并由GPU根据解压后的图像数据以及对应矩形包络的尺寸和位置进行渲染,并对3D图像进行显示。
2.根据权利要求1所述的一种用于虚拟桌面呈现的3D图像加速显示方法,其特征在于,所述步骤S2具体包括步骤:
S21:确定所需要显示图像中的所有图像变更区域;
S12:基于图像变更区域确定一个或多个矩形包络,使得所有矩形包络的总面积最小。
3.根据权利要求1所述的一种用于虚拟桌面呈现的3D图像加速显示方法,其特征在于,所述步骤S4具体包括步骤:
S41:客户端接收压缩后的图像数据后,由CPU对其进行解压,并将解压后的数据存放于系统内存中;
S42:DMA控制器控制系统内存中存放的解压后的图像数据,以及对应矩形包络的尺寸和位置传输至GPU中;
S43:GPU根据解压后的图像数据以及对应矩形包络的尺寸和位置进行渲染;
S44:对3D图像进行显示。
4.根据权利要求3所述的一种用于虚拟桌面呈现的3D图像加速显示方法,其特征在于,所述步骤S42的过程中,DMA控制器接管系统总线的控制权。
5.根据权利要求4所述的一种用于虚拟桌面呈现的3D图像加速显示方法,其特征在于,所述步骤S42的过程中,DMA控制器和CPU交替访问系统内存。
6.根据权利要求3所述的一种用于虚拟桌面呈现的3D图像加速显示方法,其特征在于,所述系统内存为物理内存和/或虚拟内存。
7.根据权利要求1所述的一种用于虚拟桌面呈现的3D图像加速显示方法,其特征在于,矩形包络的尺寸为长宽。
8.根据权利要求1所述的一种用于虚拟桌面呈现的3D图像加速显示方法,其特征在于,矩形包络的位置为坐标。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610534634.4A CN106201401A (zh) | 2016-07-08 | 2016-07-08 | 用于虚拟桌面呈现的3d图像加速显示方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610534634.4A CN106201401A (zh) | 2016-07-08 | 2016-07-08 | 用于虚拟桌面呈现的3d图像加速显示方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106201401A true CN106201401A (zh) | 2016-12-07 |
Family
ID=57472805
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610534634.4A Pending CN106201401A (zh) | 2016-07-08 | 2016-07-08 | 用于虚拟桌面呈现的3d图像加速显示方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106201401A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019015543A1 (zh) * | 2017-07-17 | 2019-01-24 | 中兴通讯股份有限公司 | 一种虚拟桌面数据显示的方法及系统 |
CN117909268A (zh) * | 2024-03-19 | 2024-04-19 | 麒麟软件有限公司 | 一种gpu驱动优化方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110149147A1 (en) * | 2009-12-21 | 2011-06-23 | Samsung Electronics Co., Ltd. | Image processing apparatus for reading compressed data from memory via data bus and image processing method performed in the image processing apparatus |
CN102857819A (zh) * | 2012-09-12 | 2013-01-02 | 广东威创视讯科技股份有限公司 | 一种纹理图片的加载方法及显示终端、服务器和系统 |
CN103440612A (zh) * | 2013-08-27 | 2013-12-11 | 华为技术有限公司 | 一种gpu虚拟化中图像处理方法和装置 |
-
2016
- 2016-07-08 CN CN201610534634.4A patent/CN106201401A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110149147A1 (en) * | 2009-12-21 | 2011-06-23 | Samsung Electronics Co., Ltd. | Image processing apparatus for reading compressed data from memory via data bus and image processing method performed in the image processing apparatus |
CN102857819A (zh) * | 2012-09-12 | 2013-01-02 | 广东威创视讯科技股份有限公司 | 一种纹理图片的加载方法及显示终端、服务器和系统 |
CN103440612A (zh) * | 2013-08-27 | 2013-12-11 | 华为技术有限公司 | 一种gpu虚拟化中图像处理方法和装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019015543A1 (zh) * | 2017-07-17 | 2019-01-24 | 中兴通讯股份有限公司 | 一种虚拟桌面数据显示的方法及系统 |
CN117909268A (zh) * | 2024-03-19 | 2024-04-19 | 麒麟软件有限公司 | 一种gpu驱动优化方法 |
CN117909268B (zh) * | 2024-03-19 | 2024-05-24 | 麒麟软件有限公司 | 一种gpu驱动优化方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200372602A1 (en) | Scheme for compressing vertex shader output parameters | |
KR101457216B1 (ko) | 텍스쳐 상세 레벨을 산출하기 위한 장치 및 방법 | |
JP6185211B1 (ja) | 適応的シェーディングによるテクスチャルックアップを使用した帯域幅低減 | |
CN100495435C (zh) | 图像处理单元的并行引擎的同步方法及系统 | |
CN109035383B (zh) | 一种体积云的绘制方法、装置及计算机可读存储介质 | |
JP2015514246A5 (zh) | ||
CN103336816A (zh) | 安卓系统上基于GPU实现的Canvas元素渲染方法及装置 | |
US9235925B2 (en) | Virtual surface rendering | |
US10140268B2 (en) | Efficient browser composition for tiled-rendering graphics processing units | |
US9286122B2 (en) | Display techniques using virtual surface allocation | |
KR20150081638A (ko) | 전자장치 및 전자장치에서의 웹 플랫폼 동작방법 | |
US10043489B2 (en) | Virtual surface blending and BLT operations | |
US9959668B2 (en) | Virtual surface compaction | |
WO2010142208A1 (zh) | 矢量图形处理方法及装置 | |
CN112711729A (zh) | 基于页面动画的渲染方法、装置、电子设备及存储介质 | |
CN106201401A (zh) | 用于虚拟桌面呈现的3d图像加速显示方法 | |
CN112346890B (zh) | 一种复杂图形离屏渲染方法及系统 | |
EP2487915A1 (en) | 3d format conversion systems and methods | |
JP2005135415A (ja) | 命令語基盤グラフィック出力加速機能の含まれたグラフィックデコーダ、そのグラフィック出力加速方法及び映像再生装置 | |
TWI527445B (zh) | 於x視窗系統上顯示硬體加速之視頻的技術 | |
CN106204675A (zh) | 虚拟桌面呈现设备中的2d显示加速方法 | |
CN101477674A (zh) | 利用显卡协助运算资料的方法 | |
CN111460342A (zh) | 页面的渲染展示方法、装置、电子设备及计算机存储介质 | |
CN111243069B (zh) | 一种Unity3D引擎的场景切换方法和系统 | |
JP2023547433A (ja) | 計算ワークロードのラスタライゼーションのための方法および装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20180604 Address after: 523000 A2, 7 floor, home town plaza, South five village, Houjie Town, Dongguan, Guangdong Applicant after: Dongguan Zheng Xun Industrial Investment Co., Ltd. Address before: 200070 8005, room 3, 533 Po Chang Road, Zhabei District, Shanghai. Applicant before: Ting Yun computing technology (Shanghai) Co., Ltd. |
|
TA01 | Transfer of patent application right | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20161207 |
|
WD01 | Invention patent application deemed withdrawn after publication |