Почему context2d.backingStorePixelRatio не рекомендуется?

Согласно статье Пола Льюиса, Высокий холст DPI: вам нужно принять во внимание context.backingStorePixelRatio, чтобы решить проблемы размытия.

Если это свойство было устаревшим, то дротик позаботится о проблеме размытия на устройстве высокой четкости?

Ответ 1

Я думал, что то же самое, и что Отслеживание ошибок сообщает:

Да, поэтому статья была написана, когда у Safari был резервный магазин соотношение 2. В Chrome всегда было 1.

Как вы говорите, подход к решению этой проблемы:

canvas.width = width * window.devicePixelRatio;
canvas.height = height * window.devicePixelRatio;

canvas.style.width = width + 'px';
canvas.style.height = height + 'px';

Если width и height, однако, вы хотите их (возможно, window.innerWidth и innerHeight для полного просмотра shenanigans.)

Тогда вам просто нужно приспособиться к тому, что вы увеличили масштаб холста с:

ctx.scale(window.devicePixelRatio, window.devicePixelRatio);

Итак, у вас есть свое решение.