2010-09-08 3 views
7

Я делаю небольшую игру, используя элемент HTML5 canvas. Он отлично работает, за исключением того, что он имеет прокручивающийся фон с очевидным разрывом, происходящим в браузерах Firefox и Chromium в Ubuntu. Я почти уверен, что он забуферирован, потому что нет никакого мерцания, которого я ожидал бы; просто рву. Есть ли способ обойти это или время рендеринга сразу после последнего обновления экрана?Разрывание в холсте HTML5?

+0

См. Http://stackoverflow.com/questions/6025661/how-can-i-get-vsync-callback-on-html5-canvas – Kos

ответ

2

В настоящее время нет возможности контролировать фактическую перекраску элемента холста (который, если был, может действительно помочь в увеличении производительности, я думаю). Поэтому можно только надеяться, что браузер действительно сделает что-то умное, а не прикручивается, как в вашем случае.

У меня есть опыт работы с элементом холста и знакомство с его причудами. Я несколько раз сталкивался с каким-то «перекрашивающим отставанием», где, очевидно, фактические цифры за кадром правильные и «плавные», но графика все еще имеет несколько «скачкообразное» поведение, которое на самом деле действительно раздражает ,

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

Если вы хотите указать ссылку на свою игру, которая может быть полезна, так как я также запускаю Ubuntu здесь.

+0

Спасибо за предложение. К сожалению, в настоящее время я использую украденное место из другой игры, поэтому я не могу его распространять до тех пор, пока искусство не будет заменено. Я также вижу проблему с задержкой, о которой вы упомянули. – Sydius