0

我正在尝试为 Google 的 GWT 制作 Canvas Games 的游戏开发 API,但我遇到了关于预渲染问题的问题。

首先:我不完全确定浏览器/Javascript/GWT 如何管理已删除的画布,其数据是否保留在内存中,在使用removeChild()RootPanel.Remove()(使用 GWT)之后,甚至是从内存中删除它的正确方法。

因此,我提出的解决方案是使用多个(根据需要)隐藏的大画布作为预渲染调色板,并使用 drawImage() 魔法在主上下文中绘制的预渲染图像周围跳转,并且在插入时遇到了我自己的问题,删除,空白空间等。

这是最好的解决方案吗?或者我应该尝试为每个预渲染的小图像和纹理使用一个小画布?还是我应该尝试一些完全不同的东西?

提前谢谢,对不起我的拼写。

4

1 回答 1

1

使用画布预渲染您的项目是一个好主意,但它并不总是最佳选择。如果您的项目很复杂(带有渐变、阴影和视觉效果),那么它会很好。但是如果你的项目很简单(图像、多边形、简单的贝塞尔曲线……),你的帧率不会增加,但会减少(因为 drawImage)。那么最好实时渲染。

从我的实验来看,使用几个小画布(可能内存很少)不会降低性能,但它比大画布(如面向对象的场景)更容易管理。如果您的项目有时会发生变化,您一定可以轻松管理临时画布的大小。

希望这有帮助。

于 2013-02-11T10:12:28.200 回答