问题描述
我将 qt5.6 与 EGLFS 一起使用。我的场景由 StackLayout 上的 QtWebView 1.5 和 QtQuick 2.10 组成,以仅显示 1 个大的 4k qt Web 引擎 JS 内容。它在 4k@60hz 上运行良好,没有任何下降,性能也很棒,但是每当我触摸触摸屏时,FPS 都会下降(无论是否有动画或不是)。
以下是从非必要数据中剥离的日志中的更多信息:
./
完整日志可以在这里找到:https://pastebin.com/hsM8Uia3
我的铬也有一些我提供给它的标志:
18:27:44.424 [debug] qt.qpa.egldeviceintegration: Using EGL device integration "eglfs_kms"
18:27:44.425 [debug] qt.qpa.eglfs.kms: Using backend-provided DRM device /dev/dri/card0
18:27:44.425 [debug] qt.qpa.eglfs.kms: Querying EGLdisplay
18:27:44.425 [debug] qt.qpa.eglfs.kms: Found 10 planes
18:27:44.425 [debug] qt.qpa.eglfs.kms: plane 0: id = 40 countFormats = 10 possibleCrtcs = 0x10 supported formats = XR24 AR24 RA24 XR30 XB30 AR30 AB30 XB24 AB24 RG16
18:27:44.436 [debug] qt.qpa.eglfs.kms: mode 0 3840 x 2160 @ 60 hz
18:27:44.437 [debug] Setting framebuffer size is only available with DRM atomic API
18:27:44.439 [debug] qt.qpa.eglfs.kms: Sorted screen list: QVector(OrderedScreen(QPlatformScreen=0x4b1e50 ("DP4") : 2147483647 / QPoint(0,0) / primary: false))
18:27:44.439 [debug] qt.qpa.input: evdevkeyboard: Using device discovery
18:27:44.439 [debug] qt.qpa.input: udev device discovery for type QFlags<QDevicediscovery::QDeviceType>(Device_Keyboard)
18:27:44.439 [debug] qt.qpa.input: Found matching devices ("/dev/input/event2","/dev/input/event1","/dev/input/event0")
18:27:44.439 [debug] qt.qpa.input: Adding keyboard at "/dev/input/event2"
18:27:44.441 [debug] qt.scenegraph.general: GL_vendOR: X.Org
18:27:44.441 [debug] qt.scenegraph.general: GL_RENDERER: AMD Radeon (TM) E9260 Graphics (POLARIS11,DRM 3.33.0,5.3.6,LLVM 8.0.0)
18:27:44.441 [debug] qt.scenegraph.general: GL_VERSION: OpenGL ES 3.2 Mesa 19.0.8
18:27:44.441 [debug] qt.scenegraph.general: GL_vendOR: X.Org
18:27:44.441 [debug] qt.scenegraph.general: GL_RENDERER: AMD Radeon (TM) E9260 Graphics (POLARIS11,LLVM 8.0.0)
18:27:44.441 [debug] qt.scenegraph.general: GL_VERSION: OpenGL ES 3.2 Mesa 19.0.8
我无法追踪的问题如下:
- 当
"--disable-background-timer-throttling","--disable-media-suspend","--disable-gpu-vsync","--disable-frame-rate-limit","--disable-pinch","--kiosk","--disable-renderer-backgrounding","--disable-renderer-priority-management","--disable-touch-drag-drop","--enable-native-gpu-memory-buffers","--enable-gpu-rasterization","--netifs-to-ignore=eth0,eth1,sit0","--no-sandBox","--remote-debugging-port=9292","--ignore-gpu-blacklist","--no-user-gesture-required","--autoplay-policy=no-user-gesture-required","--disable-touch-drag-drop"
设置为QSG_RENDER_LOOP
并且我密集触摸触摸屏时 - 帧率将下降到basic
- 当
30fps
设置为QSG_RENDER_LOOP
时,产生大量触摸屏事件时 fps 将下降到threaded
(永远不会低于)
知道在哪里看吗?我希望 fps 稳定。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)