Как визуализировать содержимое WebGL с помощью устройств с высоким DPI?
Как правильно настроить WebGL для рендеринга всех собственных пикселей на дисплее с высокой точкой на дюйм (например, MacBook retina или pixel chromebook)?
1 ответов
для WebGL это относительно просто.
var desiredCSSWidth = 400;
var desiredCSSHeight = 300;
var devicePixelRatio = window.devicePixelRatio || 1;
canvas.width = desiredCSSWidth * devicePixelRatio;
canvas.height = desiredCSSHeight * devicePixelRatio;
canvas.style.width = desiredCSSWidth + "px";
canvas.style.height = desiredCSSHeight + "px";
см.http://www.khronos.org/webgl/wiki/HandlingHighDPI
существуют тесты соответствия, которым следуют эти правила. В частности, что браузеру не разрешено изменять размер backingstore для холста для холста WebGL.
для обычного 2D-холста это менее просто, но это не был заданный вопрос.