From: Craig Robbins Date: Thu, 5 Feb 2015 07:22:10 +0000 (+1000) Subject: Fix performance regression X-Git-Tag: 0.4.12~32 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=9a0dd47057cad18522e43d159a06c856dfdeeef4;p=oweals%2Fminetest.git Fix performance regression --- diff --git a/src/porting.cpp b/src/porting.cpp index e99d08426..8a685539b 100644 --- a/src/porting.cpp +++ b/src/porting.cpp @@ -647,7 +647,8 @@ const char *getVideoDriverFriendlyName(irr::video::E_DRIVER_TYPE type) #ifndef __ANDROID__ #ifdef XORG_USED -float getDisplayDensity() + +static float calcDisplayDensity() { const char* current_display = getenv("DISPLAY"); @@ -665,7 +666,7 @@ float getDisplayDensity() XCloseDisplay(x11display); - return (std::max(dpi_height,dpi_width) / 96.0); + return std::max(dpi_height,dpi_width) / 96.0; } } @@ -673,6 +674,14 @@ float getDisplayDensity() return g_settings->getFloat("screen_dpi")/96.0; } + +float getDisplayDensity() +{ + static float cached_display_density = calcDisplayDensity(); + return cached_display_density; +} + + #else float getDisplayDensity() {