一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种跨运行环境的显示输出共享方法与流程

2022-08-13 20:37:55 来源:中国专利 TAG:

技术特征:
1.一种跨运行环境的显示输出共享方法,其特征在于,包括以下步骤:安卓兼容环境中,在安卓应用创建虚显时获取安卓应用的应用包名,建立虚显与应用包名之间的对应关系;在安卓兼容环境的surfaceflinger服务接收到显示状态更新消息后,遍历当前保存的display,若存在状态仅为读取状态且类型为虚显的display,则判断该display对应的应用包名是否存在于所述对应关系中,如果存在则创建与该display相关的虚拟图形缓冲区生产者、虚拟显示绘制表面及虚拟显示设备,虚拟图形缓冲区生产者获取桌面系统的截屏数据后将截屏数据渲染到虚拟显示绘制表面生成渲染数据,虚拟显示设备将渲染数据输出到屏幕完成显示,其中,虚拟显示设备为包含单一图层的displaydevice;如果不存在状态仅为读取状态且类型为虚显的display,或该display不存在于所述对应关系中,则退出本流程。2.根据权利要求1所述的显示输出共享方法,其特征在于,所述虚拟图形缓冲区生产者获取桌面系统的截屏数据的过程,包括以下步骤:步骤2.1、测试计算桌面系统的最大截屏帧率,若最大截屏帧率大于阈值则确定虚拟图形缓冲区生产者的工作模式为异步模式,否则为同步模式;步骤2.2、确定共享缓冲区的大小创建共享缓冲区,用于桌面系统与安卓兼容环境间截屏数据的交互;步骤2.3、根据步骤2.1确定的最大截屏帧率,获取桌面系统的截屏数据,并将截屏数据的数据格式转换为安卓系统的图像格式;当虚拟图形缓冲区生产者的工作模式为同步模式时,若共享缓冲区为可写状态则将截屏数据写入共享缓冲区,否则等待共享缓冲区的状态变为可写状态后再写入数据,虚拟图形缓冲区生产者检测到共享缓冲区中有数据写入后,设置共享缓冲区的状态为不可写,再从共享缓冲区获取截屏数据后将数据传递至虚拟显示绘制表面,并设置共享缓冲区的状态为可写;当虚拟图形缓冲区生产者的工作模式为异步模式时,当虚拟图形缓冲区生产者检测到共享缓冲区中有数据写入后,读取截屏数据后将数据传递至虚拟显示绘制表面。3.根据权利要求2所述的显示输出共享方法,其特征在于,所述步骤2.1中测试计算桌面系统的最大截屏帧率的过程,包括以下步骤:步骤3.1、获取系统cpu利用率的初始值,设定截屏帧率的初始值;步骤3. 2、在桌面系统中采用设定的截屏帧率执行截屏操作,生成截屏数据;在安卓兼容环境内将截屏数据转换为安卓系统所需数据格式,获取系统当前的cpu利用率;步骤3.3、重复多次执行步骤3. 2得到间隔设定时间的多个cpu利用率,求得cpu利用率的平均值;步骤3.4、若平均值小于步骤3.1中cpu利用率的初始值,则增大截屏帧率执行步骤3. 2;否则,当前截屏帧率即为最大截屏帧率,执行步骤3.5;步骤3.5、如果最大截屏帧率大于阈值,则确定虚拟图形缓冲区生产者的工作模式为异步模式,否则为同步模式。4.根据权利要求3所述的显示输出共享方法,其特征在于,所述步骤3.4中增大截屏帧率的方式为在当前截屏帧率的基础上增加5帧/秒。5.根据权利要求3所述的显示输出共享方法,其特征在于,所述步骤3.5中的阈值为30
帧/秒。6.根据权利要求2所述的显示输出共享方法,其特征在于,所述步骤2.2中确定共享缓冲区的大小的过程,包括以下步骤:步骤6.1、获取桌面系统的屏幕尺寸、截屏数据的数据格式及截屏数据中每像素所需字节数;根据截屏数据的数据格式确定缓冲区大小偏移量;步骤6.2、若所述步骤2.1输出的结果为同步模式,则采用步骤6.1获取的屏幕尺寸、每像素所需字节数及缓冲区大小偏移量,采用如下公式计算缓冲区大小:缓冲区大小=屏幕宽度*屏幕高度*每像素所需字节数 缓冲区大小偏移量;若所述步骤2.1输出的结果为异步模式,则采用如下公式计算缓冲区大小:缓冲区大小=(屏幕宽度*屏幕高度*每像素所需字节数 缓冲区大小偏移量)*截屏帧率。7.根据权利要求1所述的显示输出共享方法,其特征在于,所述在安卓应用创建虚显时获取安卓应用的应用包名,建立虚显与应用包名之间的对应关系的方式为:修改安卓系统中与virtualdisplay创建相关的函数,将安卓应用的应用包名作为变量保存在virtualdisplay内部。8.根据权利要求7所述的显示输出共享方法,其特征在于,所述与virtualdisplay创建相关的函数包括但不限于:mediaprojection.createvirtualdisplay、displaymanager.createvirtualdisplay及displaymanagerglobal.createvirtualdisplay。9.根据权利要求1所述的显示输出共享方法,其特征在于,所述虚拟显示设备中单一图层的实现方式为:将图层的绘制状态设置为不透明且始终可见,且可视区域的尺寸与桌面系统的屏幕尺寸相同。

技术总结
本发明公开了一种跨运行环境的显示输出共享方法,通过在安卓兼容环境内创建与虚显相关的虚拟图形缓冲区生产者、虚拟显示绘制表面及虚拟显示设备,虚拟图形缓冲区生产者获取桌面系统的截屏数据,虚拟显示绘制表面将截屏数据转换为渲染数据,虚拟显示设备将渲染数据输出到屏幕显示,实现了将桌面系统的显示输出共享到安卓兼容环境中,从而解决了共享桌面系统屏幕的问题。屏幕的问题。屏幕的问题。


技术研发人员:晏华 温研 赵旺林
受保护的技术使用者:北京麟卓信息科技有限公司
技术研发日:2022.06.13
技术公布日:2022/8/12
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献