diff options
author | Kristoffer Skau <[email protected]> | 2023-02-27 13:33:32 +0100 |
---|---|---|
committer | Kristoffer Skau <[email protected]> | 2023-02-28 17:53:10 +0100 |
commit | 55568b8c626576726c6c9138c8044ea52bc3a355 (patch) | |
tree | 96c0690646a235d917d307043946caa83aa90969 | |
parent | b6bc4199ec866a326f94ae86f3a35b73bc3eb30e (diff) |
Increase cache size for QOpenGLTextureCache
Currently images that does not fit in the cache will be destroyed, which
is unfortunate. 256 MB cache is too small for todays standards, so
increasing it to 1 GB. Also adding an environment variable so that it is
changeable if required.
Fixes: QTBUG-111498
Pick-to: 6.5
Change-Id: I70c65cad6219a59102b16abc50f098aa0b017314
Reviewed-by: Eirik Aavitsland <[email protected]>
-rw-r--r-- | src/opengl/qopengltexturecache.cpp | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/opengl/qopengltexturecache.cpp b/src/opengl/qopengltexturecache.cpp index 107380ff08c..88bd280f7a3 100644 --- a/src/opengl/qopengltexturecache.cpp +++ b/src/opengl/qopengltexturecache.cpp @@ -61,9 +61,19 @@ void QOpenGLTextureCacheWrapper::cleanupTexturesForPixmapData(QPlatformPixmap *p cleanupTexturesForCacheKey(pmd->cacheKey()); } +static quint64 cacheSize() +{ + bool ok = false; + const int envCacheSize = qEnvironmentVariableIntValue("QT_OPENGL_TEXTURE_CACHE_SIZE", &ok); + if (ok) + return envCacheSize; + + return 1024 * 1024; // 1024 MB cache default +} + QOpenGLTextureCache::QOpenGLTextureCache(QOpenGLContext *ctx) : QOpenGLSharedResource(ctx->shareGroup()) - , m_cache(256 * 1024) // 256 MB cache + , m_cache(cacheSize()) { } |