summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/porting.cpp13
1 files changed, 11 insertions, 2 deletions
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()
{