hiroi-sora / Umi-OCR_v2

结束和新的开始
MIT License
933 stars 73 forks source link

系统启用显示器翻转时,截图界面也跟着翻转 #19

Closed hiroi-sora closed 11 months ago

hiroi-sora commented 12 months ago

系统:win11 显卡:Nvdia 系统设置中,一个显示器设为了横向-翻转(即为屏幕反放,画面朝上)。使用Umi-OCR截图时,只要鼠标不进入该屏幕区域,就一切正常。若鼠标进入该屏幕,则该屏幕的画面上下翻转(即系统设置失效,画面朝下)。截图结束后,恢复正常,没有其它影响。 image

解决方法:

Umi-OCR全局设置,渲染器调成 Opengl ES 或者 关闭硬件加速 即可。

image

hiroi-sora commented 12 months ago

推测为渲染器Bug。ScreenshotWindowComp.qml 使用遮罩特效 layer.effect: OpacityMask 来实现深色叠加层。推测当鼠标进入翻转屏幕区域时,由于特效 layer.effect 对显卡渲染管线的影响,导致桌面绘制不再遵守系统的翻转设置,而是适配显示器物理朝向。

此时用系统截一张图,在Umi结束操作后查看系统截图,发现图中屏幕显示正常(并未翻转)。说明Umi没有更改屏幕逻辑设置,仅是显卡渲染输出的过程中发生了错误。

总之,qt默认渲染器 Desktop OpenGL 确实有不少问题。尽量换成 OpenGL ES 。我后续也会写个根据显卡类型,自动选择适合的渲染器。