mirror of
https://gitee.com/spark-store-project/spark-store
synced 2025-10-09 11:52:21 +08:00
parent
4e4ee205de
commit
762caae49f
39
src/main.cpp
39
src/main.cpp
@ -11,6 +11,7 @@
|
|||||||
#include <QSettings>
|
#include <QSettings>
|
||||||
#include <QFile>
|
#include <QFile>
|
||||||
#include <QStandardPaths>
|
#include <QStandardPaths>
|
||||||
|
#include <QSurfaceFormat>
|
||||||
|
|
||||||
DCORE_USE_NAMESPACE
|
DCORE_USE_NAMESPACE
|
||||||
DWIDGET_USE_NAMESPACE
|
DWIDGET_USE_NAMESPACE
|
||||||
@ -37,13 +38,45 @@ int main(int argc, char *argv[])
|
|||||||
qputenv("DTK_FORCE_RASTER_WIDGETS", "FALSE");
|
qputenv("DTK_FORCE_RASTER_WIDGETS", "FALSE");
|
||||||
// qputenv("QTWEBENGINE_CHROMIUM_FLAGS", "--disable-features=UseModernMediaControls");
|
// qputenv("QTWEBENGINE_CHROMIUM_FLAGS", "--disable-features=UseModernMediaControls");
|
||||||
// qputenv("QTWEBENGINE_CHROMIUM_FLAGS", "--disable-web-security");
|
// qputenv("QTWEBENGINE_CHROMIUM_FLAGS", "--disable-web-security");
|
||||||
|
|
||||||
|
|
||||||
// 浏览器开启 GPU 支持
|
// 浏览器开启 GPU 支持
|
||||||
#ifdef __sw_64__
|
#ifdef __sw_64__
|
||||||
qputenv("QTWEBENGINE_CHROMIUM_FLAGS", "--ignore-gpu-blocklist --enable-gpu-rasterization --enable-native-gpu-memory-buffers --enable-accelerated-video-decode --no-sandbox");
|
qputenv("QTWEBENGINE_CHROMIUM_FLAGS", "--no-sandbox");
|
||||||
#else
|
|
||||||
qputenv("QTWEBENGINE_CHROMIUM_FLAGS", "--ignore-gpu-blocklist --enable-gpu-rasterization --enable-native-gpu-memory-buffers --enable-accelerated-video-decode");
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* FIXME: 对于麒麟 CPU 设备,调用 QtWebEngine 会导致客户端崩溃;
|
||||||
|
* 暂时不对 CPU 进行判断,对 wayland 环境下统一处理
|
||||||
|
*/
|
||||||
|
if (Utils::isWayland()) {
|
||||||
|
QString env = QString::fromUtf8(qgetenv("QTWEBENGINE_CHROMIUM_FLAGS"));
|
||||||
|
env = env.trimmed();
|
||||||
|
/**
|
||||||
|
* NOTE: 参考帮助手册代码,对于麒麟 CPU 设备,
|
||||||
|
* --disable-gpu 保证 wayland 环境下网页正常显示
|
||||||
|
* --single-process 避免 wayland 环境下 QtWebEngine 崩溃(可选)
|
||||||
|
*/
|
||||||
|
env += " --disable-gpu";
|
||||||
|
qputenv("QTWEBENGINE_CHROMIUM_FLAGS", env.trimmed().toUtf8());
|
||||||
|
|
||||||
|
/**
|
||||||
|
* NOTE: 参考帮助手册代码,对于麒麟 CPU 设备,
|
||||||
|
* 避免 wayland 环境下 QtWebEngine 崩溃
|
||||||
|
*/
|
||||||
|
qputenv("QT_WAYLAND_SHELL_INTEGRATION", "kwayland-shell");
|
||||||
|
QSurfaceFormat format;
|
||||||
|
format.setRenderableType(QSurfaceFormat::OpenGLES);
|
||||||
|
QSurfaceFormat::setDefaultFormat(format);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* NOTE: https://zhuanlan.zhihu.com/p/550285855
|
||||||
|
* 避免 wayland 环境下从 QtWebEngine 后退回到 QWidget 时黑屏闪烁
|
||||||
|
*/
|
||||||
|
qputenv("QMLSCENE_DEVICE", "softwarecontext");
|
||||||
|
DApplication::setAttribute(Qt::AA_UseSoftwareOpenGL);
|
||||||
|
}
|
||||||
|
|
||||||
DApplication::setAttribute(Qt::AA_EnableHighDpiScaling); // 开启 Hidpi 支持
|
DApplication::setAttribute(Qt::AA_EnableHighDpiScaling); // 开启 Hidpi 支持
|
||||||
|
|
||||||
// 强制使用 DTK 平台插件
|
// 强制使用 DTK 平台插件
|
||||||
|
Loading…
x
Reference in New Issue
Block a user