gpt4 book ai didi

javascript - 重绘游戏循环内的所有内容是否需要过多的 Canvas ?

转载 作者:太空狗 更新时间:2023-10-29 15:33:29 24 4
gpt4 key购买 nike

I've started a Breakout game in Canvas .

目前,我只编写了 block 和播放器的显示代码。

当游戏需要 self 更新时(每 10 毫秒左右),它需要调用 draw(),它当前将根据玩家、方 block 和球。

它的性能开始成为一个问题。

每帧重新绘制整个 Canvas 永远不是一个好主意吗?我是否应该更改我的代码以仅绘制正在更改的部分?

最佳答案

首先:是的,更改您的代码以仅绘制正在更改的部分可能会有很大帮助,但您应该始终使用自己的代码测试特定的改进,因为任何一种优化的性能因应用程序而异(有时差异很大)。

但不仅仅是绘图会导致速度变慢。例如,请确保您没有在绘制循环中重新计算/重建任何永远不会改变的东西。

此外,如果您有很多对象,除非必须,否则不要设置 fillStyle,这意味着可以通过将填充设置为一种颜色来绘制所有对象来进行优化该颜色,然后设置第二个填充颜色等。

最后,我建议您编写整个游戏(或大部分游戏),然后返回并进行优化。

Canvas 有很多优化。我最近开始编写与游戏相关的性能增强指南,希望能在年底前完成。

关于javascript - 重绘游戏循环内的所有内容是否需要过多的 Canvas ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5805705/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com