买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
申请/专利权人:麒麟软件有限公司
摘要:本发明涉及一种减少VIRTIO‑GPU额外性能损耗的方法,在VIRTIO‑GPU将绘图命令发送给Virglrenderer进行执行的过程中,预先对绘图命令进行监听,当监听到命令中包含draw操作时,记录下draw操作涉及的窗口区域;当VIRTIO‑GPU接收到屏幕刷新命令时,VIRTIO‑GPU又会到该装置中获取记录下的窗口区域,在调用glReadPixels接口时,将根据窗口区域的位置和大小来提取物理显卡帧缓存中的像素数据;最后,将提取到的窗口像素数据与缓存的上一帧屏幕画面进行数据合成后输出。本发明在大部分应用场景下能够有效减少减少从宿主机物理显卡中提取屏幕画面图像数据所造成的显卡性能损耗,从而提升VIRTIO‑GPU的图像性能。
主权项:1.一种减少VIRTIO-GPU额外性能损耗的方法,其特征在于,包括如下步骤:步骤S1:在虚拟机所依赖的QEMU中构建绘图命令监听分析装置;步骤S2:QEMU在内存中维护一张屏幕画面帧缓存,用于缓存最近发送给远程客户端的屏幕画面;步骤S3:VIRTIO-GPU接收到绘图命令后,将绘图命令发送给绘图命令监听分析装置;步骤S4:绘图命令监听分析装置解析绘图命令,在绘图命令是针对屏幕画面帧缓存且包含特定的draw操作时,对draw操作进行进一步分析,得到并记录draw操作对应的窗口区域的位置及大小,得到窗口区域列表;步骤S5:绘图命令监听分析装置将绘图命令转发给virglrenderer组件,通过virglrenderer组件完成物理显卡上的图形绘制操作;步骤S6:VIRTIO-GPU接收到虚拟机中VIRTIO-GPU驱动发送的屏幕刷新命令,从绘图命令监听分析装置中获取步骤S4所得到的窗口区域列表;并根据该窗口区域列表从屏幕画面帧缓存中提取该窗口区域列表对应位置处的图像像素数据;步骤S7:QEMU将步骤S6得到的图像像素数据整合到步骤S2中在内存中维护的屏幕画面帧缓存上,将整合后的屏幕画面数据发送给远程客户端进行呈现。
全文数据:
权利要求:
百度查询: 麒麟软件有限公司 减少VIRTIO-GPU额外性能损耗的方法
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。