【发布时间】:2011-04-09 12:22:06
【问题描述】:
我正在使用 HTML5 canvas 元素制作一个小游戏。它工作得很好,除了它有一个滚动背景,在 Ubuntu 的 Firefox 和 Chromium 浏览器中发生了明显的撕裂。我很确定它是缓冲的,因为没有任何我期望的闪烁;只是撕裂。有什么办法可以解决这个问题或在最后一次屏幕刷新后立即渲染?
【问题讨论】:
标签: javascript html canvas tearing
我正在使用 HTML5 canvas 元素制作一个小游戏。它工作得很好,除了它有一个滚动背景,在 Ubuntu 的 Firefox 和 Chromium 浏览器中发生了明显的撕裂。我很确定它是缓冲的,因为没有任何我期望的闪烁;只是撕裂。有什么办法可以解决这个问题或在最后一次屏幕刷新后立即渲染?
【问题讨论】:
标签: javascript html canvas tearing
目前没有办法控制画布元素的实际重绘(如果有的话,我猜这实际上可以帮助提高性能)。所以只能希望浏览器确实做一些智能的事情,而不是像你的情况那样搞砸。
我自己对画布元素有相当多的经验,并且知道它的怪癖。到目前为止,我多次遇到某种“重绘滞后”,显然幕后的实际数字是正确且“流畅”的,但图形仍然有些“跳跃”的行为,这实际上是 烦人。
我能想象到的唯一可能对您的情况产生影响的事情是在显卡的驱动程序设置中激活 VSync。
如果您想提供一个对您的游戏也有帮助的链接,因为我也在此处运行 Ubuntu。
【讨论】: