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移动视觉支持

Raspberry PI-- Video

Raspberry PI 和 Mac OSx 之间的屏幕共享 [关闭]

如何使用 Python 在 Raspberry Pi 上杀死 omxplayer 播放器