Canvas Мерцание изображения.
Здравствуйте! Начал делать маленькую игру и столкнулся с проблемой... изображение сильно дергается.
Вот ссылка: http://site.lighst.com/Risk/Index.htm Я использовал для зацикливания : window.requestAnimFrame = (function(){ return window.requestAnimationFrame/1 || window.webkitRequestAnimationFrame/1 || window.mozRequestAnimationFrame/1 || window.oRequestAnimationFrame/1 || window.msRequestAnimationFrame/1 || function( callback ){ window.setTimeout(callback, 1000 / 30.0); }; })(); А для проверки (стабилизации) передвижения небольшую временную функцию : if (((new Date).getTime()-Timer)/1000>0.005) Кто встречался с такими проблемами, и как это исправить? Заранее спасибо :) С меня плюсы за хорошие ответы. |
Епт, а зачем функцию делить на единицу? КАК МОЖНО до такого додуматься???
alert( window.alert / 1 ) window.requestAnimFrame = (function(){ return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame || function( callback ){ window.setTimeout(callback, 1000 / 30.0); }; })(); И вобще, по шапке бы настучать тому человеку, кто распространил этот сниппет. Нужно создавать не глобальное свойство, а локальную переменную. Но впринципе сойдет и так. |
Штуку с единицей добавил я, это было давно и не помню почему..то ли в браузерах разный фпс выдавало то ли еще, что то
|
Вот в чем дело, вставил я ваш код и фпс поднялся до 60. А подергивания так и не прошли.
Заметил, что они возникают переодически и в основном в первые 10-15 секунд после запуска кода. Ничего нагроможденного у меня в коде нету, чтобы могло вызвать такой эффект. |
Цитата:
На ноль бы делил сразу :haha: |
Через Хром нашел провал во времени, между двумя событиями очень большой промежуток времени пустую, сами по себе события выполняются сразу, с чем это может быть связанно?
|
Цитата:
60 и дёргается - в природе такого быть не может, кроме одной ситуации, но здесь её нет |
в упор 60 не вижу. 19-29 вижу. и это вполне нормально что на частоте 30 дёрганье видно
Цитата:
Цитата:
|
dmitriymar,
Я уже кидал ссылку на игру, и как описал сообщением выше, я заметил, что есть временной провал между выполнениями функций (программа спит). Может кто нибудь сталкивался с этим, или есть компиляторы проверяющие потерю производительности? |
dmitriymar,
на любой частоте, я уже менял и 30 и 60 и 120. только в определенные этапы тормозит. |
Часовой пояс GMT +3, время: 23:04. |