diff --git a/src/app/main.cpp b/src/app/main.cpp index 0ba1ea6a05a..8b7b8d62944 100644 --- a/src/app/main.cpp +++ b/src/app/main.cpp @@ -63,6 +63,7 @@ #include #include +#include #include #include #include @@ -294,6 +295,14 @@ static void setHighDpiEnvironmentVariable() } } +void setPixmapCacheLimit() +{ + const int originalLimit = QPixmapCache::cacheLimit(); + const qreal dpr = qApp->devicePixelRatio(); + const qreal multiplier = std::clamp(dpr * dpr, 1.0, 4.0); + QPixmapCache::setCacheLimit(originalLimit * multiplier); +} + void loadFonts() { const QDir dir(resourcePath() + "/fonts/"); @@ -562,6 +571,7 @@ int main(int argc, char **argv) QLatin1String(Core::Constants::IDE_SETTINGSVARIANT_STR), QLatin1String(Core::Constants::IDE_CASED_ID)); Utils::TerminalCommand::setSettings(settings); + setPixmapCacheLimit(); loadFonts(); if (Utils::HostOsInfo::isWindowsHost()