38 lines
1.6 KiB
HTML
38 lines
1.6 KiB
HTML
<script>
|
|
function createAndDescribeContext(msg, parameters)
|
|
{
|
|
var canvas = document.createElement("canvas");
|
|
var gl = canvas.getContext("webgl", parameters);
|
|
var ext = gl.getExtension("WEBGL_debug_renderer_info");
|
|
|
|
var header = document.createElement("p");
|
|
header.textContent = msg;
|
|
document.body.appendChild(header);
|
|
|
|
var result = document.createElement("pre");
|
|
result.textContent = "UNMASKED_VENDOR_WEBGL is " + gl.getParameter(ext.UNMASKED_VENDOR_WEBGL) + "\n";
|
|
result.textContent += "UNMASKED_RENDERER_WEBGL is " + gl.getParameter(ext.UNMASKED_RENDERER_WEBGL);
|
|
document.body.appendChild(result);
|
|
}
|
|
|
|
function run()
|
|
{
|
|
createAndDescribeContext("With preferLowPowerToHighPerformance", {preferLowPowerToHighPerformance: true});
|
|
createAndDescribeContext("Without preferLowPowerToHighPerformance", {});
|
|
}
|
|
|
|
window.addEventListener("load", run, false);
|
|
</script>
|
|
<p>
|
|
This is a manual test, since it relies on hardware configurations. It creates two
|
|
WebGL contexts. It first asks for a context with preferLowPowerToHighPerformance
|
|
set to true, and then for a context with the default value (false).
|
|
</p>
|
|
<p>
|
|
Unfortunately there isn't a completely reliable way to know if this test passed.
|
|
On a system with both an integrated and discrete GPU, assuming that the system
|
|
is configured to prefer the integrated GPU, and no other apps are running
|
|
that might cause the discrete GPU to be active, the two renderers should be different.
|
|
Also, if they are different, then the first one should be the lower power model
|
|
(i.e. the integrated card).
|
|
</p> |