Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Почему начинает тормозить canvas? (https://javascript.ru/forum/misc/49983-pochemu-nachinaet-tormozit-canvas.html)

Dimaz 06.09.2014 15:29

Почему начинает тормозить canvas?
 
Написал простой пример управления игроком с помощью клавиатуры. На холсте только один черный квадратик и больше ничего нет. Сначала вроде нормально все идет, а потом квадрат начинает немного дергаться и подтормаживать. Попробуйте минуты 2 поуправляйте им. Комп у меня не слабый. Видюха Nvidia GeForce GTS 450. Игру открываю через браузер Chrome. В чем причина не могу понять? http://jsfiddle.net/pqqapmrm/
Не так давно открывал пример проверки производительности с рыбками в аквариуме http://ie.microsoft.com/testdrive/Performance/FishBowl/. Стабильный FPS 60 при установке 750 рыбок. Ничего не глючит. Так что же не так с моим кодом?:blink:

MallSerg 06.09.2014 19:58

тормоза не замечены
Ссылка на аквариум улыбнула ) мелкомягкие снова пытаются повторить
http://www.chromeexperiments.com/det...arium/?f=webgl

Наверно тебя интересует как профилировать(анализирова ь) работу скриптов в браузере

Safort 07.09.2014 11:42

Тоже никаких тормозов не заметил. Мб у тебя там ещё 100500 приложений открыто?)
Парочка не столь существенных замечаний:
1. У тебя в функции draw() постоянно выполняется
ctx.fillStyle = player.color;

Хотя его можно вынести вверх.

2. И в той же самой функции есть
ctx.clearRect(0, 0, 800, 600);

Хотя канвас значительно меньше по размерам.

borovik_96 08.11.2014 17:25

Убери функцию
window.requestAnimationFrame(draw);

У меня также лагает если её вставляю, без неё норм http://jsfiddle.net/fuw7sLt6/


Часовой пояс GMT +3, время: 18:04.