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

相关文章

Linux虚拟机不显示IP地址的解决方法(亲测有效)

《Linux虚拟机不显示IP地址的解决方法(亲测有效)》本文主要介绍了通过VMware新装的Linux系统没有IP地址的解决方法,主要步骤包括:关闭虚拟机、打开VM虚拟网络编辑器、还原VMnet8或修... 目录前言步骤0.问题情况1.关闭虚拟机2.China编程打开VM虚拟网络编辑器3.1 方法一:点击还原VM

CSS模拟 html 的 title 属性(鼠标悬浮显示提示文字效果)

《CSS模拟html的title属性(鼠标悬浮显示提示文字效果)》:本文主要介绍了如何使用CSS模拟HTML的title属性,通过鼠标悬浮显示提示文字效果,通过设置`.tipBox`和`.tipBox.tipContent`的样式,实现了提示内容的隐藏和显示,详细内容请阅读本文,希望能对你有所帮助... 效

前端bug调试的方法技巧及常见错误

《前端bug调试的方法技巧及常见错误》:本文主要介绍编程中常见的报错和Bug,以及调试的重要性,调试的基本流程是通过缩小范围来定位问题,并给出了推测法、删除代码法、console调试和debugg... 目录调试基本流程调试方法排查bug的两大技巧如何看控制台报错前端常见错误取值调用报错资源引入错误解析错误

css实现图片旋转功能

《css实现图片旋转功能》:本文主要介绍了四种CSS变换效果:图片旋转90度、水平翻转、垂直翻转,并附带了相应的代码示例,详细内容请阅读本文,希望能对你有所帮助... 一 css实现图片旋转90度.icon{ -moz-transform:rotate(-90deg); -webkit-transfo

使用C/C++调用libcurl调试消息的方式

《使用C/C++调用libcurl调试消息的方式》在使用C/C++调用libcurl进行HTTP请求时,有时我们需要查看请求的/应答消息的内容(包括请求头和请求体)以方便调试,libcurl提供了多种... 目录1. libcurl 调试工具简介2. 输出请求消息使用 CURLOPT_VERBOSE使用 C

如何设置vim永久显示行号

《如何设置vim永久显示行号》在Linux环境下,vim默认不显示行号,这在程序编译出错时定位错误语句非常不便,通过修改vim配置文件vimrc,可以在每次打开vim时永久显示行号... 目录设置vim永久显示行号1.临时显示行号2.永www.chinasem.cn久显示行号总结设置vim永久显示行号在li

C++中实现调试日志输出

《C++中实现调试日志输出》在C++编程中,调试日志对于定位问题和优化代码至关重要,本文将介绍几种常用的调试日志输出方法,并教你如何在日志中添加时间戳,希望对大家有所帮助... 目录1. 使用 #ifdef _DEBUG 宏2. 加入时间戳:精确到毫秒3.Windows 和 MFC 中的调试日志方法MFC

电脑显示hdmi无信号怎么办? 电脑显示器无信号的终极解决指南

《电脑显示hdmi无信号怎么办?电脑显示器无信号的终极解决指南》HDMI无信号的问题却让人头疼不已,遇到这种情况该怎么办?针对这种情况,我们可以采取一系列步骤来逐一排查并解决问题,以下是详细的方法... 无论你是试图为笔记本电脑设置多个显示器还是使用外部显示器,都可能会弹出“无HDMI信号”错误。此消息可能

Qt QWidget实现图片旋转动画

《QtQWidget实现图片旋转动画》这篇文章主要为大家详细介绍了如何使用了Qt和QWidget实现图片旋转动画效果,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 一、效果展示二、源码分享本例程通过QGraphicsView实现svg格式图片旋转。.hpjavascript