Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Canvas и не понятные "подергивания" (https://javascript.ru/forum/misc/48239-canvas-i-ne-ponyatnye-podergivaniya.html)

Nex 26.06.2014 07:40

Canvas и не понятные "подергивания"
 
Добрый день!
Узнал я что на JS можно сделать игру для браузера прямо в блокноте и мне захотелось попробовать :) .
Прочитал документацию и написал не много кода, но заметил при движении тестовой фигуры (черный квадрат) какие то рывки и подергивания как будто бы играем в сетевую игру с большим пингом или слабенькой сетевой оптимизацией. Погуглил не много и понял что возможно это какая то локальная проблема с компом или софтом и прошу вас посмотреть мой код. Вдруг все же я где то допустил ошибку.
http://jsbin.com/gosovane/1/edit

MallSerg 26.06.2014 08:33

Вложений: 1
Код смотреть не обязательно

Nex 26.06.2014 09:41

Цитата:

Сообщение от MallSerg (Сообщение 318053)
Код смотреть не обязательно

Я так понимаю что то не удаляется?

Может кто нибудь подскажет куда смотреть и как исправить?

MallSerg 26.06.2014 10:23

Скрипт создает много новых объектов вместо того что бы использовать старые объекты.
Периодически вызывается сборщик мусора который работает 30-50 милисек
Смотреть в отладчик хрома вкладка timeline на ней включить запись.
там очень подробно в картинках и графиках показано что и как работает

dmitriymar 26.06.2014 10:47

1 смени setInterval на setTimeout - есть разница в работе при совпадении событий , и описана также в учебнике на этом сайте
2 используй requestAnimationFrame http://habrahabr.ru/post/114358/
3 тереть всю канву? тебе ресурсы и нагрузка позволят в дальнейшем? - задумайся о колве объектов и т.д (как вариант, если у тебя нет накладок, оставь пустые поля вокруг объекта и пусть при перерисовке он сам затирает своё прошлое состояние)

В целом не плохо. То что ты используешь вычисленные величины в основной массе это плюс.

MallSerg, и каким боком твои "умозаключения" к реальности ?

nverv 26.06.2014 16:47

"немного" и "непонятные" - пишется слитно

дальше не читал и не проверял

nverv 26.06.2014 16:48

Цитата:

Сообщение от Nex (Сообщение 318059)
Я так понимаю что то не удаляется?
Может кто нибудь подскажет куда смотреть и как исправить?

что-то - пишется через дефис

nverv 26.06.2014 17:29

товарищи начинающие программисты!
надо внимательней к синтаксу языка

Nex 27.06.2014 04:05

Цитата:

Сообщение от nverv (Сообщение 318093)
"немного" и "непонятные" - пишется слитно

Да вы что...


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