diff --git a/src/lime/_internal/backend/html5/HTML5Window.hx b/src/lime/_internal/backend/html5/HTML5Window.hx
index 424e8ead4a..32ebcf89af 100644
--- a/src/lime/_internal/backend/html5/HTML5Window.hx
+++ b/src/lime/_internal/backend/html5/HTML5Window.hx
@@ -70,6 +70,7 @@ class HTML5Window
private var requestedFullscreen:Bool;
private var resizeElement:Bool;
private var scale = 1.0;
+ private var checkScale: Bool = false; // to cache the AllowHighDPI and DOM render check result
private var setHeight:Int;
private var setWidth:Int;
private var textInputEnabled:Bool;
@@ -108,6 +109,7 @@ class HTML5Window
if (Reflect.hasField(attributes, "allowHighDPI") && attributes.allowHighDPI && renderType != DOM)
{
scale = Browser.window.devicePixelRatio;
+ checkScale = true;
}
parent.__scale = scale;
@@ -1346,6 +1348,11 @@ class HTML5Window
{
if (!parent.__resizable) return;
+ if (checkScale) {
+ scale = Browser.window.devicePixelRatio;
+ parent.__scale = scale;
+ }
+
var elementWidth:Float;
var elementHeight:Float;