Oneshot Gems
立即玩

游戏开发者指南

有意选择画布像素密度

画布具有 CSS 显示大小和像素后备存储。当这些尺寸不同时,浏览器会缩放绘制的位图,这可以使艺术变得柔和;匹配每个设备像素可以提高清晰度,但会增加游戏必须处理的像素数量。正确的设置取决于艺术风格和渲染预算。像素艺术精灵可能需要整数缩放和最近邻选择,而线条艺术界面可能受益于更高的支持分辨率。

本页内容

设置像素之前测量 CSS 框

读取显示的画布尺寸,乘以所选的设备比例,设置背景宽度和高度,并转换绘图坐标,以便游戏逻辑可以继续使用 CSS 空间单位。更改宽度或高度后重新应用变换,因为分配这些画布属性会重置其绘制状态。

以 1、1.5 和 2 等比例因子比较单像素网格、对角边缘和小 UI 文本。检查清晰度和响应能力。完整的 devicePixelRatio 乘数是一个起点,而不是每个游戏都应该遵循的规则;降低渲染比例可以降低密集显示的成本,同时保持 CSS 布局不变。

将调整大小和内存作为选择的一部分

后备存储像素数随着两个维度的增加而增加,因此每个方向上的缩放倍数会创建四倍的像素。在交付高密度设置之前,以支持的最大显示尺寸测试繁忙的场景,并查找内存压力或重绘速度较慢的情况。

MDN 的画布指南显示了基于 devicePixelRatio 的设置。 WebGL 的最佳实践页面指出了非整数比率和缩放的微妙之处。浏览器缩放或在显示之间移动窗口后重新检查,如果后备存储的有效尺寸未更改,请避免重复重置后备存储。

关于⁨游戏中的 Canvas 设备像素比⁩的常见问题

画布宽度是否应该始终等于 CSS 宽度乘以 devicePixelRatio?

不一定。这样可以让内容更清晰,但会增加处理量和内存使用。请在相同场景下进行视觉检查,比较全分辨率版本和设有上限的缩放版本。

为什么调整大小后绘图变得模糊?

更改画布宽度或高度会清除其位图并重置上下文状态。重新计算其背景尺寸,再次缩放上下文,然后重新绘制场景。

延伸阅读

发现信息过时了? 报告需要更正的内容

继续玩下去。

免费浏览器游戏,随时等你开玩。发现喜欢的游戏,让它成为你的下一个最爱。

跟随好奇心探索