Rockchip_双屏显示旋转方向调试(一)

2024-03-15 10:04

本文主要是介绍Rockchip_双屏显示旋转方向调试(一),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Rockchip_双屏显示旋转方向调试

  • 前 言
  • 基础介绍
    • 双屏同显
    • 双屏异显


前 言

本文档主要介绍双屏同显,双屏异显场景中存在的主副屏旋转调试方法及补丁,相关同事可查
阅此文档进行调试。
由于产品存在屏幕物理尺寸与横竖屏属性差异,还有多屏同显与异显的不同需求,从而导致多
屏显示场景的需求复杂,故整理如下调试文档并在设置界面增加对应控制选项,供产品工程师,FAE及用户查阅,方便调试。
设置->显示->HDMI 界面中增加副屏旋转方向控制选项,如下:
在这里插入图片描述

基础介绍

系统逻辑屏分为主屏,副屏与虚拟屏(暂不考虑),对应到实际的物理屏幕,系统中的逻辑屏
属性与显示通路会根据显示需求而存在差异,比如双屏同显与双屏异显,在 1.1.1.1 与 1.1.1.2 作
简单介绍。
若系统只有一个逻辑屏,即逻辑主屏,则系统的显示通路如下:
在这里插入图片描述
1:APK 获取逻辑主屏的属性信息(宽/高/刷新率),作为 APK 的渲染布局;
2:多个 APK 将显示请求提交给逻辑主屏,主屏根据层级结构进行混合;
3:逻辑主屏将混合的结果送显至实际的物理主屏,默认情况下,逻辑主屏的属性信息与物理主
屏一致;
备注:由于 APK 通过主屏的属性信息进行渲染绘图的,所以在只有一个逻辑主屏的情况下,显
示效果是正常的,不存在拉伸等情况。

双屏同显

双屏同显,实际上是逻辑副屏将逻辑主屏的显示内容进行送显至逻辑副屏,显示通路如下:
在这里插入图片描述
1:APK 获取 逻辑主屏 的属性信息(宽/高/刷新率),作为 APK 的渲染布局;
2:多个 APK 将显示请求提交给 逻辑主屏,主屏根据层级结构进行混合;
3:多个 APK 将显示请求提交给 逻辑副屏,副屏根据层级结构进行混合;
4:3 步骤其实可以等效为逻辑主屏将显示内容提交给逻辑副屏;
5:逻辑主屏 将混合的结果送显至实际的物理主屏,默认情况下,逻辑主屏的属性信息与物理
主屏一致;
6:逻辑副屏 将混合的结果送显至实际的物理副屏;
备注:双屏同显逻辑副屏就有可能出现黑边或拉伸的情况,具体的显示情况分为两种,如下:
 主副屏宽高比相同:即 w1/h1 = w2/h2:
在这里插入图片描述
备注:若 逻辑主副屏 宽高比相同,则图像全屏显示,图像不会出现拉伸以及黑边。
 主副屏宽高比不同:即 w1/h1 != w2/h2:
在这里插入图片描述
1:APK 获取 逻辑主屏 的属性信息(宽/高/刷新率),作为 APK 的渲染布局;
2:图像渲染布局与屏幕分辨率相同,则图像正常显示,不存在拉伸及黑边;
3:图像渲染布局为 1920x1080,屏幕分辨率为 1536x2048,宽高比不同,则只有两种显示
模式 4 与 5;
4:图像居中显示,图像不拉伸,但是存在黑边;
5:图像平铺显示,图像拉伸,但可以全屏显示;
备注:在双屏同显的情况下:若 逻辑主副屏 宽高比不相同,则只能选择 4 与 5 显示模式的其
中一种。

双屏异显

双屏异显,实际上是 APK 根据需要显示的逻辑屏属性信息独立绘制,并独立送显,区别于双屏
同显在这里插入图片描述
1:APK1,APK2 获取 逻辑主屏 的属性信息(宽/高/刷新率),作为 APK1,APK2 的渲染布
局;
2:APK1,APK2 将显示请求提交给 逻辑主屏,主屏根据层级结构进行混合;
3:逻辑主屏 将混合的结果送显至实际的物理主屏,默认情况下,逻辑主屏的属性信息与物理
主屏一致;
4:APK3 获取 逻辑副屏 的属性信息(宽/高/刷新率),作为 APK3 的渲染布局;
5:APK3 将显示请求提交给 逻辑副屏,副屏根据层级结构进行混合;
6:逻辑副屏 将混合的结果送显至实际的物理副屏,默认情况下,逻辑副屏的属性信息与物理
副屏一致;
备注:双屏异显由于 APK 送显内容为独立绘制,故 APK 渲染布局始终与需要显示的物理屏幕
属性一致,故不存在拉伸与黑边的情况,所有屏幕均正常显示,并且显示的内容取决于各自的 APK。

这篇关于Rockchip_双屏显示旋转方向调试(一)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/811592

相关文章

在IntelliJ IDEA中高效运行与调试Spring Boot项目的实战步骤

《在IntelliJIDEA中高效运行与调试SpringBoot项目的实战步骤》本章详解SpringBoot项目导入IntelliJIDEA的流程,教授运行与调试技巧,包括断点设置与变量查看,奠定... 目录引言:为良驹配上好鞍一、为何选择IntelliJ IDEA?二、实战:导入并运行你的第一个项目步骤1

Windows环境下解决Matplotlib中文字体显示问题的详细教程

《Windows环境下解决Matplotlib中文字体显示问题的详细教程》本文详细介绍了在Windows下解决Matplotlib中文显示问题的方法,包括安装字体、更新缓存、配置文件设置及编码調整,并... 目录引言问题分析解决方案详解1. 检查系统已安装字体2. 手动添加中文字体(以SimHei为例)步骤

SpringSecurity显示用户账号已被锁定的原因及解决方案

《SpringSecurity显示用户账号已被锁定的原因及解决方案》SpringSecurity中用户账号被锁定问题源于UserDetails接口方法返回值错误,解决方案是修正isAccountNon... 目录SpringSecurity显示用户账号已被锁定的解决方案1.问题出现前的工作2.问题出现原因各

基于 HTML5 Canvas 实现图片旋转与下载功能(完整代码展示)

《基于HTML5Canvas实现图片旋转与下载功能(完整代码展示)》本文将深入剖析一段基于HTML5Canvas的代码,该代码实现了图片的旋转(90度和180度)以及旋转后图片的下载... 目录一、引言二、html 结构分析三、css 样式分析四、JavaScript 功能实现一、引言在 Web 开发中,

IDEA如何实现远程断点调试jar包

《IDEA如何实现远程断点调试jar包》:本文主要介绍IDEA如何实现远程断点调试jar包的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录问题步骤总结问题以jar包的形式运行Spring Boot项目时报错,但是在IDEA开发环境javascript下编译

RedisTemplate默认序列化方式显示中文乱码的解决

《RedisTemplate默认序列化方式显示中文乱码的解决》本文主要介绍了SpringDataRedis默认使用JdkSerializationRedisSerializer导致数据乱码,文中通过示... 目录1. 问题原因2. 解决方案3. 配置类示例4. 配置说明5. 使用示例6. 验证存储结果7.

idea中project的显示问题及解决

《idea中project的显示问题及解决》:本文主要介绍idea中project的显示问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录idea中project的显示问题清除配置重China编程新生成配置总结idea中project的显示问题新建空的pr

使用animation.css库快速实现CSS3旋转动画效果

《使用animation.css库快速实现CSS3旋转动画效果》随着Web技术的不断发展,动画效果已经成为了网页设计中不可或缺的一部分,本文将深入探讨animation.css的工作原理,如何使用以及... 目录1. css3动画技术简介2. animation.css库介绍2.1 animation.cs

Python MCPInspector调试思路详解

《PythonMCPInspector调试思路详解》:本文主要介绍PythonMCPInspector调试思路详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋... 目录python-MCPInspector调试1-核心知识点2-思路整理1-核心思路2-核心代码3-参考网址

Linux系统调试之ltrace工具使用与调试过程

《Linux系统调试之ltrace工具使用与调试过程》:本文主要介绍Linux系统调试之ltrace工具使用与调试过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、ltrace 定义与作用二、ltrace 工作原理1. 劫持进程的 PLT/GOT 表2. 重定