Raspberry Pi 2 - 在纵向模式下移动物体时出现失真
Posted
技术标签:
【中文标题】Raspberry Pi 2 - 在纵向模式下移动物体时出现失真【英文标题】:Raspberry Pi 2 - Distortion while moving objects in Portrait mode 【发布时间】:2016-01-13 16:28:10 【问题描述】:我目前正在开发基于运行 Java 应用程序的 Raspbian 的 Raspberry Pi 2 的 Kiosk 系统。一切都运行良好,除了物体移动时出现的屏幕失真。通常,这不是问题,但我在 Java 应用程序上有一个列表,将被用户广泛使用。在此列表上滚动时可以看到失真。
下面的链接显示了这一点:
A GIF showing the distortion
到目前为止我所知道的:
这仅在屏幕旋转时发生。我通过在/boot/config.txt
中设置“display_rotate=3”
将屏幕旋转了270* 它不依赖于屏幕分辨率或“hdmi_group"
这不仅仅发生在 GUI 上,在启动期间也可以看到失真 锁边不影响失真 它总是出现在屏幕的右下角 Ubuntu Mate 中也存在此问题
【问题讨论】:
似乎是“屏幕撕裂”。你知道如何在正在使用的软件堆栈中启用VSYNC
(wait-for-vsync) 吗?交替检查配置选项以双倍/三倍缓冲显示帧缓冲区?
您是否尝试过更新您的固件?见raspberrypi.stackexchange.com/questions/37645/…
其他旋转角度是否会出现这种情况,例如 90 度?
正如@TheCodeArtist 已经提到的 - 这称为撕裂。您需要一个硬件加速的图形库(使用 opengl)。如果没有 vsync,您将无法消除撕裂。
【参考方案1】:
我不是 Linux 或类似领域的专家,但请听我说完,
您说您在配置文件中旋转屏幕。你能把它恢复为默认值吗?为什么需要旋转它?因为这种旋转可能会导致它无法对齐屏幕的某些部分。对于您的问题,我首先会尝试使用该变量进行试验,看看它是如何变化的。 :)
【讨论】:
【参考方案2】:看看这个:https://github.com/justincjack/rasp_pi_graphics
这是我编写的一个库,绝对可以解决您的问题。它将使用 C 头文件创建一个共享对象(和静态)。如果您可以为其创建 Java 绑定以使其能够使用它产生的库,那么您的问题将会结束。
我找不到任何真正有效的信息,所以这是几周的工作成果。
它允许平滑渲染,不会撕裂,也不会疯狂地深入挖掘 libdri (libdrm)/kms。
【讨论】:
以上是关于Raspberry Pi 2 - 在纵向模式下移动物体时出现失真的主要内容,如果未能解决你的问题,请参考以下文章
Android - Things Raspberry Pi - Google 移动视觉支持
通过移动应用程序在 Raspberry Pi 上显示 OSMC 的电视之间切换
Android - Things Raspberry Pi - Google移动视觉支持