一种基于异构混合渲染的自由缩放优化方法
摘要文本
本发明公开了一种基于异构混合渲染的自由缩放优化方法,在桌面系统中拉伸应用窗口时,根据原窗口大小与最新窗口大小的大小关系确定安卓应用兼容服务内对安卓应用窗口大小调整及渲染的方式,对于窗口增大的调整通过在安卓应用兼容服务渲染和上屏的操作之间增加安卓应用的渲染内容与桌面窗口渲染内容的合成及绘制操作,从而消除了由桌面系统与安卓兼容环境间渲染差异所导致的窗口增大过程中窗口内显示出的黑色区域,使得安卓应用窗口的视觉效果始终与桌面系统内窗口的边框大小保持一致,类似桌面系统的原生应用,有效提高用户体验。 数据由马 克 团 队整理
申请人信息
- 申请人:北京麟卓信息科技有限公司
- 申请人地址:100085 北京市海淀区西三旗昌临801号27号3层310、312
- 发明人: 北京麟卓信息科技有限公司
专利详细信息
| 项目 | 内容 |
|---|---|
| 专利名称 | 一种基于异构混合渲染的自由缩放优化方法 |
| 专利类型 | 发明申请 |
| 申请号 | CN202410179347.0 |
| 申请日 | 2024/2/18 |
| 公告号 | CN117724797A |
| 公开日 | 2024/3/19 |
| IPC主分类号 | G06F9/451 |
| 权利人 | 北京麟卓信息科技有限公司 |
| 发明人 | 温研; 晏华 |
| 地址 | 北京市海淀区西三旗昌临801号27号3层310、312 |
专利主权项内容
1.一种基于异构混合渲染的自由缩放优化方法,其特征在于,包括以下步骤:步骤1、在安卓兼容环境内启动目标安卓应用,安卓应用显示单元生成与目标安卓应用对应的目标桌面窗口,记录目标桌面窗口的窗口ID及窗口大小分别为目标桌面窗口ID及桌面窗口实际大小;步骤2、当桌面窗口的大小发生改变时,桌面系统向安卓应用显示单元及窗口管理器发送窗口调整消息,窗口调整消息包括桌面窗口的窗口ID及其最新窗口大小;步骤3、窗口管理器接收到窗口调整消息后进入等待状态,安卓应用显示单元接收到窗口调整消息后,根据窗口ID确定目标桌面窗口,若最新窗口大小不大于目标桌面窗口的桌面窗口实际大小,则执行步骤4;否则,执行步骤6;步骤4、安卓应用显示单元将包含窗口ID及标题栏宽度的标题栏宽度修改消息发送至窗口管理器,标题栏宽度根据最新窗口大小设定;安卓应用显示单元将包含窗口ID及最新窗口大小的桌面窗口改变消息发送至安卓应用兼容服务;步骤5、窗口管理器接收到标题栏宽度修改消息后,设定目标桌面窗口对应的标题栏;安卓应用兼容服务接收到桌面窗口改变消息后,根据窗口ID完成对应安卓窗口的渲染及上屏,结束本流程;步骤6、安卓应用显示单元将包含窗口ID及最新窗口大小的桌面窗口增大消息发送至安卓应用兼容服务;步骤7、安卓应用兼容服务执行安卓窗口的渲染刷新操作,并将桌面窗口增大消息中的窗口ID作为第一窗口ID,获取安卓应用当前窗口大小记为安卓窗口实际大小;步骤8、安卓应用兼容服务按照第一窗口ID及安卓窗口实际大小完成一帧数据的渲染后、在对该渲染数据执行上屏操作前,若该渲染数据属于第一窗口ID对应的窗口且为SurfaceView类窗口则安卓应用兼容服务进入监听状态,若该渲染数据属于第一窗口ID对应的窗口且为非SurfaceView类窗口则将安卓应用兼容服务中渲染数据的地址映射到安卓应用显示单元,该映射地址为第一映射地址;再向安卓应用显示单元发送渲染完毕消息,渲染完毕消息中包含第一窗口ID、安卓窗口实际大小及第一映射地址;步骤9、当安卓应用显示单元接收到渲染完毕消息后向窗口管理器发送包含第一窗口ID及安卓窗口实际大小的标题栏宽度修改消息,若渲染完毕消息中指定窗口为SurfaceView类窗口则获取桌面窗口实际大小与安卓窗口实际大小所对应矩形间差异区域的渲染数据,将该渲染数据绘制到目标桌面窗口内,再向安卓应用兼容服务发送完成上屏消息;若渲染完毕消息中指定窗口为非SurfaceView类窗口则获取目标桌面窗口所对应渲染矩形的缓冲区,再将第一映射地址中的渲染数据复制到该缓冲区,将缓冲区中的数据绘制到目标桌面窗口中;步骤10、窗口管理器接收到标题栏宽度修改消息,按照安卓窗口实际大小设置标题栏宽度;安卓应用兼容服务接收到完成上屏消息后,对安卓窗口对应的渲染数据执行上屏操作;步骤11、若安卓窗口实际大小与最新窗口大小不同,则由安卓应用兼容服务增大安卓窗口实际大小后执行步骤8;否则完成桌面窗口大小的调整结束本流程。