CN111127296B - 一种在大屏可视化系统中高效图片渲染方法 - Google Patents
一种在大屏可视化系统中高效图片渲染方法 Download PDFInfo
- Publication number
- CN111127296B CN111127296B CN201911349201.1A CN201911349201A CN111127296B CN 111127296 B CN111127296 B CN 111127296B CN 201911349201 A CN201911349201 A CN 201911349201A CN 111127296 B CN111127296 B CN 111127296B
- Authority
- CN
- China
- Prior art keywords
- picture
- rendering
- request message
- image data
- picture 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Processing Or Creating Images (AREA)
- Image Processing (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
本发明涉及计算机技术领域,公开了一种在大屏可视化系统中高效图片渲染方法,包括:S1)发送图片渲染请求消息;S2)利用媒体时钟定时触发图片渲染请求消息;S3)可视化应用程序对触发的图片渲染请求消息进行响应;S4)将待渲染的图片组装成图片缓存流;S5)利用可视化应用程序对图片缓存流进行渲染操作;S6)通过DirectX调用显卡驱动接口进行图像数据处理,并对图像数据进行解码;S7)根据目标区域数据和当前图像区域数据对所述图像数据进行调整;S8)进行图像交换;S9)完成图片渲染。本发明为渲染组件创建了独立的线程,减少了控制分发器的压力,避免了程序出现卡顿的问题;将解码工作独立到GPU中,缓解了CPU的工作压力,图片渲染处理效率高。
Description
技术领域
本发明涉及技术领域,尤其涉及一种在大屏可视化系统中高效图片渲染方法。
背景技术
目前大屏上进行图片展示时都需要进行如下步骤的处理:图片控件自身触发一次渲染请求;在媒体访问控制层上的上下文信息管理器中将渲染请求发送到渲染线程,系统触发WM_PAINT消息;Window拦截WM_PAINT消息,并加入控制分发器(Dispatcher)的消息转发列表;Dispatcher将渲染请求按照预设定的优先级别添加到Dispatcher的任务队列中;等待渲染线程刷新任务列表;渲染线程刷新可视化树节点;图片控件的资源通道设置要更新的内容;图片控件的资源通道向渲染驱动器发送渲染命令;利用DirectX调用显卡驱动接口进行数据处理,DirectX(Direct Extension)是由微软公司创建的多媒体编程接口,是一种应用程序接口;显卡接收数据后重新解码数据,并根据目标区域和当前图像区域数据实时调整图像数据完成图像的准备工作,通知系统后台处理,进行图像交换;桌面窗口管理器(DWM,Desktop Window Manager)刷新交换后的图片到桌面渲染区域。
基于大屏上图像展示分辨率大,绝大部分会达到8K*8K;并且图像基于大屏1:1制作,其制作质量要求很高,图片更新频率较快,这些特点会直接出现以下状况:Dispatcher将渲染请求按照预设定的优先级别添加到Dispatcher的任务队列的这个过程异常繁忙而导致整个窗体渲染变慢不能处理其他的事务,严重时会直接出现应用程序崩溃;因为图片分辨率较大以及基于Windows的用户界面框架WPF(Windows Presentation Foundation)的图片缓存机制会导致内存暴涨。
发明内容
本发明的目的在于提供一种在大屏可视化系统中高效图片渲染方法,从而解决现有技术中的问题。
为了实现上述目的,本发明采用的技术方案如下:
一种在大屏可视化系统中高效图片渲染方法,包括步骤:
S1)客户端发送图片渲染请求消息;
S2)设置媒体时钟,利用媒体时钟定时触发图片渲染请求消息;
S3)可视化应用程序对触发的图片渲染请求消息进行响应,根据图片渲染请求消息从预建立的数据库中调用待渲染的图片;
S4)利用编码线程将待渲染的图片组装成图片缓存流;
S5)利用可视化应用程序对图片缓存流进行渲染操作,获得渲染操作后的图像数据;
S6)通过DirectX调用显卡驱动接口进行图像数据处理,利用显卡接收处理后的图像数据,并对图像数据进行解码;
S7)获取目标区域数据和当前图像区域数据,根据目标区域数据和当前图像区域数据对图像数据进行调整;
S8)将调整后的目标区域数据和当前图像区域数据进行图像交换,获得交换后的图片;
S9)利用桌面窗口管理器将交换后的图片刷新到桌面渲染区域,完成图片渲染。
进一步的,步骤S6)中还包括将解码独立到GPU中运行,利用GPU对像素内容进行缓存。
进一步的,在步骤S4)中对所述待渲染的图片进行单次纹理缩放来减少图片像素内容的大小。
本发明的有益效果是:本发明为渲染组件创建了独立的线程,而且不影响其他组件的渲染,利用媒体时钟定时触发图片渲染请求消息,跳过WPF中Dispatcher按照优先级的排队,减少渲染延迟,减少Dispatcher的压力,避免了程序出现卡顿的问题;优化了图片缓存的载体,由现有技术的多次像素缓存升级为单次像素内容缓存,在编码线程中对图片进行单次纹理缩放来减少图片像素内容的大小,将解码工作独立到GPU中去运行,缓解了CPU的工作压力。
附图说明
图1是本发明实施例一的流程示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不用于限定本发明。
实施例一,如图1所示,一种在大屏可视化系统中高效图片渲染方法,包括步骤:
S1)客户端发送图片渲染请求消息;
S2)设置媒体时钟,利用媒体时钟定时触发图片渲染请求消息;
S3)可视化应用程序对触发的图片渲染请求消息进行响应,根据图片渲染请求消息从预建立的数据库中调用待渲染的图片;
S4)利用编码线程将待渲染的图片组装成图片缓存流,对待渲染的图片进行单次纹理缩放来减少图片像素内容的大小;
S5)利用可视化应用程序对图片缓存流进行渲染操作,获得渲染操作后的图像数据;
S6)通过DirectX调用显卡驱动接口进行图像数据处理,利用显卡接收处理后的图像数据,并对图像数据进行解码,将解码独立到GPU中运行,利用GPU对像素内容进行缓存;
S7)获取目标区域数据和当前图像区域数据,根据目标区域数据和当前图像区域数据对图像数据进行调整;
S8)将调整后的目标区域数据和当前图像区域数据进行图像交换,获得交换后的图片;
S9)利用桌面窗口管理器将交换后的图片刷新到桌面渲染区域,完成图片渲染。
WPF使用的DirectX版本较老,无法胜任现在的渲染请求,导致渲染变慢以及系统显卡调度线程堵塞,整个系统变慢甚至出现蓝屏死机,本发明采用Direct11版本,利用Direct11使得显卡驱动调度优化性能得以数量级提升。另外,本发明将图片组件的渲染线程和图像数据解码线程进行隔离后,窗体的dispatcher不再对图片组件的解码任务排队及后续处理,使得窗口可以处理更多的其他事务,再加上Direct11对显卡驱动调度优化性能得以数量级提升,原来播放8K的图片列表都比较卡顿的情况得到了大幅度改善。现在12K的图片能以30张每秒的速度进行1:1的播放,16K的图片能以25张每秒的速度进行播放。经过一次对无损压缩像素缓存后,原方案15张16K的图片内存占用24G降为4G。
通过采用本发明公开的上述技术方案,得到了如下有益的效果:
本发明为渲染组件创建了独立的线程,而且不影响其他组件的渲染,利用媒体时钟定时触发图片渲染请求消息,跳过WPF中Dispatcher按照优先级的排队,减少渲染延迟,减少Dispatcher的压力,避免了程序出现卡顿的问题;优化了图片缓存的载体,由现有技术的多次像素缓存升级为单次像素内容缓存,在编码线程中对图片进行单次纹理缩放来减少图片像素内容的大小,将解码工作独立到GPU中去运行,缓解了CPU的工作压力,图片渲染处理效率高。
以上仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。
Claims (3)
1.一种在大屏可视化系统中高效图片渲染方法,其特征在于,包括步骤:
S1)客户端发送图片渲染请求消息;
S2)设置媒体时钟,利用所述媒体时钟定时触发图片渲染请求消息;
S3)可视化应用程序对触发的图片渲染请求消息进行响应,根据所述图片渲染请求消息从预建立的数据库中调用待渲染的图片;
S4)利用编码线程将所述待渲染的图片组装成图片缓存流;
S5)利用所述可视化应用程序对所述图片缓存流进行渲染操作,获得渲染操作后的图像数据;
S6)通过DirectX调用显卡驱动接口进行图像数据处理,利用显卡接收处理后的图像数据,并对所述图像数据进行解码;
S7)获取目标区域数据和当前图像区域数据,根据所述目标区域数据和所述当前图像区域数据对所述图像数据进行调整;
S8)将调整后的目标区域数据和当前图像区域数据进行图像交换,获得交换后的图片;
S9)利用桌面窗口管理器将交换后的图片刷新到桌面渲染区域,完成图片渲染。
2.根据权利要求1所述的在大屏可视化系统中高效图片渲染方法,其特征在于,步骤S6)中还包括将解码独立到GPU中运行,利用GPU对像素内容进行缓存。
3.根据权利要求2所述的在大屏可视化系统中高效图片渲染方法,其特征在于,在步骤S4)中对所述待渲染的图片进行单次纹理缩放来减少图片像素内容的大小。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911349201.1A CN111127296B (zh) | 2019-12-24 | 2019-12-24 | 一种在大屏可视化系统中高效图片渲染方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911349201.1A CN111127296B (zh) | 2019-12-24 | 2019-12-24 | 一种在大屏可视化系统中高效图片渲染方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111127296A CN111127296A (zh) | 2020-05-08 |
CN111127296B true CN111127296B (zh) | 2023-05-26 |
Family
ID=70500500
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911349201.1A Active CN111127296B (zh) | 2019-12-24 | 2019-12-24 | 一种在大屏可视化系统中高效图片渲染方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111127296B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104616243A (zh) * | 2015-01-20 | 2015-05-13 | 北京大学 | 一种高效的gpu三维视频融合绘制方法 |
WO2016034089A1 (zh) * | 2014-09-03 | 2016-03-10 | 优视科技有限公司 | 图片渲染方法和装置、移动终端以及机器可读存储介质 |
CN105635751A (zh) * | 2015-12-25 | 2016-06-01 | 北京大学第三医院 | 一种视频云平台播放视频的方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8253732B2 (en) * | 2008-01-03 | 2012-08-28 | International Business Machines Corporation | Method and system for remote visualization client acceleration |
-
2019
- 2019-12-24 CN CN201911349201.1A patent/CN111127296B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016034089A1 (zh) * | 2014-09-03 | 2016-03-10 | 优视科技有限公司 | 图片渲染方法和装置、移动终端以及机器可读存储介质 |
CN104616243A (zh) * | 2015-01-20 | 2015-05-13 | 北京大学 | 一种高效的gpu三维视频融合绘制方法 |
CN105635751A (zh) * | 2015-12-25 | 2016-06-01 | 北京大学第三医院 | 一种视频云平台播放视频的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111127296A (zh) | 2020-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109582425B (zh) | 一种基于云端与终端gpu融合的gpu服务重定向系统及方法 | |
US11321928B2 (en) | Methods and apparatus for atlas management of augmented reality content | |
US7730157B2 (en) | Methods, media, and systems for displaying information on a thin-client in communication with a network | |
US20220058766A1 (en) | Graphics rendering method and apparatus | |
US20140292773A1 (en) | Virtualization method of vertical-synchronization in graphics systems | |
KR20070110127A (ko) | 압축을 이용하여 분산 프로세싱 환경에서 그래픽디스플레이를 업데이트하는 방법 및 장치 | |
JP2000331150A (ja) | グラフィックス・システム、グラフィックス・オペレーションを実行する方法及びコンピュータ読取り可能媒体 | |
JP2001084154A (ja) | スレッドを使用する、コンピュータ・システム内でのグラフィックス・テクスチャ管理の同期化 | |
CN111432262B (zh) | 页面视频渲染方法及装置 | |
CN116821040B (zh) | 基于gpu直接存储器访问的显示加速方法、装置及介质 | |
CN114968152B (zh) | 减少virtio-gpu额外性能损耗的方法 | |
US11461116B2 (en) | Graphical user interface redrawing method. Terminal device and computer readable storage medium | |
US20230052979A1 (en) | Image display method and apparatus, and medium | |
CN111340681B (zh) | 一种图像处理方法及装置 | |
US20180285129A1 (en) | Systems and methods for providing computer interface interaction in a virtualized environment | |
JP2008289030A (ja) | 画面描画転送システム | |
US20040008212A1 (en) | Reshaping irregularly-shaped images for improved compression | |
CN111127296B (zh) | 一种在大屏可视化系统中高效图片渲染方法 | |
CN110572715B (zh) | 一种解决Android TV播放webp卡顿的方法 | |
US11776507B1 (en) | Systems and methods for reducing display latency | |
CN114089896A (zh) | 一种渲染图像截取方法及装置 | |
CN116166367B (zh) | 提升显示帧缓存图像读取效率的方法 | |
CN114090168A (zh) | 一种qemu虚拟机图像输出窗口自适应调整方法 | |
JP3797371B2 (ja) | 描画命令のフックを利用した画像の転送 | |
US10706824B1 (en) | Pooling and tiling data images from memory to draw windows on a display device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |