add failIfMajorPerformanceCaveat setting

This commit is contained in:
Александр Хохлов
2020-10-14 09:23:52 +04:00
parent 1b809a4918
commit aa77fcbdd7
6 changed files with 12 additions and 1 deletions

View File

@@ -287,7 +287,7 @@ class HTML5Window
premultipliedAlpha: true,
stencil: Reflect.hasField(contextAttributes, "stencil") ? contextAttributes.stencil : false,
preserveDrawingBuffer: false,
failIfMajorPerformanceCaveat: true
failIfMajorPerformanceCaveat: Reflect.hasField(contextAttributes, "failIfMajorPerformanceCaveat") ? contextAttributes.failIfMajorPerformanceCaveat : false,
};
var glContextType = ["webgl", "experimental-webgl"];

View File

@@ -48,4 +48,10 @@ typedef RenderContextAttributes =
Whether vertical-sync (VSync) is enabled
**/
@:optional var vsync:Bool;
/**
Boolean that indicates if a context will be created
if the system performance is low or if no hardware GPU is available
**/
@:optional var failIfMajorPerformanceCaveat:Bool;
}

View File

@@ -509,6 +509,8 @@ class System
attributes.x = Std.parseInt(argValue);
case "y":
attributes.y = Std.parseInt(argValue);
case "failIfMajorPerformanceCaveat":
attributes.context.failIfMajorPerformanceCaveat = __parseBool(argValue);
default:
}
}

View File

@@ -171,6 +171,7 @@ class HXProject extends Script
depthBuffer: true,
stencilBuffer: true,
colorDepth: 32,
failIfMajorPerformanceCaveat: false,
maximized: false,
minimized: false,
hidden: false,

View File

@@ -23,6 +23,7 @@ typedef WindowData =
@:optional var requireShaders:Bool;
@:optional var depthBuffer:Bool;
@:optional var stencilBuffer:Bool;
@:optional var failIfMajorPerformanceCaveat:Bool;
@:optional var title:String;
#if (js && html5)
@:optional var element:js.html.Element;

View File

@@ -60,6 +60,7 @@ import ::APP_MAIN::;
depth: ::depthBuffer::,
hardware: ::hardware::,
stencil: ::stencilBuffer::,
failIfMajorPerformanceCaveat: ::failIfMajorPerformanceCaveat::,
type: null,
vsync: ::vsync::
};