diff options
author | Loïc Blot <nerzhul@users.noreply.github.com> | 2017-06-11 13:58:43 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-06-11 13:58:43 +0200 |
commit | 65819f3b9f8229666a30b91ef2d289ebc6085097 (patch) | |
tree | 722ba29a49ea1707c1db2633b2e84c5c7ebfe2eb /src/drawscene.cpp | |
parent | ff73c7a5da6ab8ac0bb678ebf25b83e805397029 (diff) | |
download | minetest-65819f3b9f8229666a30b91ef2d289ebc6085097.tar.gz minetest-65819f3b9f8229666a30b91ef2d289ebc6085097.tar.bz2 minetest-65819f3b9f8229666a30b91ef2d289ebc6085097.zip |
Use thread_local instead from some static settings (#5955)
thread_local permits to limit variable lifetime to thread duration. Use it on each setting place which uses static to cache variable result only for thread lifetime. This permits to keep the same performance level & reconfigure server from MT gui in those various variables places.
Add thread_local to undersampling calculation too.
Diffstat (limited to 'src/drawscene.cpp')
-rw-r--r-- | src/drawscene.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/drawscene.cpp b/src/drawscene.cpp index 59f9b8375..2cf9689a8 100644 --- a/src/drawscene.cpp +++ b/src/drawscene.cpp @@ -474,7 +474,7 @@ void draw_plain(Camera &camera, bool show_hud, // Undersampling-specific stuff static video::ITexture *image = NULL; static v2u32 last_pixelated_size = v2u32(0, 0); - int undersampling = g_settings->getU16("undersampling"); + static thread_local int undersampling = g_settings->getU16("undersampling"); v2u32 pixelated_size; v2u32 dest_size; if (undersampling > 0) { |