故障排除
如果您在使用 OpenShot 时遇到冻结、崩溃或错误消息等问题,有许多不同的技术可以帮助排查问题。
Windows 11 无响应
如果您在 Windows 11 上遇到冻结,这是 PyQt5 与 Windows 11 之间的已知问题,涉及 Qt 的辅助功能。在 OpenShot 中按下 Ctrl+C (仅限 Windows 11 )会触发此问题。OpenShot 会变得无响应,并且存在内存泄漏(即 OpenShot 无响应时间越长,内存泄漏越严重,直到 OpenShot 最终崩溃或用户终止进程)。
一个简单的解决方法是在 Windows 11 上避免使用 Ctrl+C ,改用右键菜单中的复制/粘贴。另一种方法是将“复制”快捷键从 Ctrl+C 重新映射为其他按键,例如 Alt+C 。您可以在 OpenShot 的首选项中更改键盘映射。参见 键盘 。
Windows 下使用 GDB 调试
如果您在 Windows 10/11 上使用 OpenShot 时遇到崩溃或冻结,以下逐步说明将帮助您确定崩溃原因。这些说明将显示 OpenShot 源代码中崩溃位置的堆栈跟踪信息。这些信息对我们的开发团队非常有用,也非常适合附加到错误报告中(以加快解决速度)。
安装最新的每日构建版本
在附加调试器之前,请下载 OpenShot 的**最新版本** :https://www.openshot.org/download#daily。将此版本的 OpenShot 安装到默认位置:C:\Program Files\OpenShot Video Editor\ 。有关在 Windows 上调试 OpenShot 的详细说明,请参见 ` 此维基 <https://github.com/OpenShot/openshot-qt/wiki/Windows-Debugging-with-GDB>`_ 。 this wiki
安装 MSYS2
Windows 版本的 OpenShot 是使用名为 MSYS2 的环境编译的。要将 GDB 调试器附加到我们的可执行文件 openshot-qt.exe ,您必须先安装 MSYS2。此步骤只需执行一次。
下载并安装 MSYS2:http://www.msys2.org/
运行
MSYS2 MinGW x64命令提示符(例如:C:\msys64\msys2_shell.cmd -mingw64)更新所有软件包(复制/粘贴以下命令 ):
pacman -Syu安装 GDB 调试器(复制/粘贴以下命令 ):
pacman -S --needed --disable-download-timeout mingw-w64-x86_64-toolchain
使用 GDB 调试器启动 OpenShot
运行 MSYS2 MinGW x64 命令提示符(例如:C:\msys64\msys2_shell.cmd -mingw64 )
更新 PATH(复制/粘贴以下命令 ):
export PATH="/c/Program Files/OpenShot Video Editor/lib:$PATH"
export PATH="/c/Program Files/OpenShot Video Editor/lib/PyQt5:$PATH"
将 OpenShot 加载到 GDB 调试器中(复制/粘贴以下命令 ):
cd "/c/Program Files/OpenShot Video Editor"/
gdb openshot-qt.exe
从 GDB 提示符启动 OpenShot(复制/粘贴以下命令 ):
run --debug
打印调试信息
一旦 OpenShot 成功启动并附加了 GDB,您只需在 OpenShot 中触发崩溃或冻结。当发生崩溃时,切换回 MSYS2 MinGW64 终端,运行以下命令之一(输入命令后按回车)。通常,第一个输入的命令是 bt ,表示 backtrace 。更多命令列于下方。
(gdb) run (launch openshot-qt.exe)
(gdb) CTRL + C (to manually break out OR wait for a crash / segmentation fault)
(gdb) bt (Print stack trace for the current thread #)
(gdb) info threads (to view all threads, and what they are doing. Look for `__lll_lock_wait` for Mutex/deadlocks)
(gdb) thread 35 (Switch to thread number, for example thread 35)
高DPI / 4K 显示器
OpenShot 视频编辑器对高DPI(每英寸点数)显示器提供强大的支持,确保界面在不同DPI设置的显示器上清晰锐利且易于阅读。这种支持在4K显示器和其他高分辨率显示器上尤为有用。
按显示器的DPI感知
OpenShot 支持按显示器分别感知DPI,这意味着它可以根据每个连接显示器的DPI设置动态调整缩放比例。这有助于在不同显示器之间提供一致的使用体验。
Windows上的DPI缩放
在Windows上,OpenShot会将缩放因子四舍五入到最接近的整数值,以保持视觉完整性。这有助于避免界面中的视觉伪影,并保持界面元素清晰且对齐良好。由于这种四舍五入,某些缩放选项可能导致字体和界面元素比预期更大。
125% 缩放 会四舍五入为 100%
150% 缩放 会四舍五入为 200%
细粒度调整的解决方法
虽然四舍五入有助于保持界面整洁,但对于需要更精确缩放控制的用户,有一些解决方法。由于可能出现视觉伪影,这些方法**不推荐**使用:
QT_SCALE_FACTOR_ROUNDING_POLICY=PassThrough
设置此环境变量可以禁用四舍五入,从而实现更精确的缩放。
注意: 这可能会导致视觉伪影,尤其是在时间轴中,因此不推荐使用。
QT_SCALE_FACTOR=1.25 (或类似值)
手动设置缩放因子可以对字体和界面缩放进行更细致的调整。
这也可以通过“首选项”(用户界面缩放)设置,但在Windows上使用小数缩放时可能会出现边框/线条问题。
注意: 此方法也可能导致视觉伪影,并使OpenShot更难使用。
有关调整这些环境变量的更多信息,请访问 https://github.com/OpenShot/openshot-qt/wiki/OpenShot-UI-too-large。