Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 26.06.2014, 07:40
Nex Nex вне форума
Новичок на форуме
Отправить личное сообщение для Nex Посмотреть профиль Найти все сообщения от Nex
 
Регистрация: 26.06.2014
Сообщений: 3

Canvas и не понятные "подергивания"
Добрый день!
Узнал я что на JS можно сделать игру для браузера прямо в блокноте и мне захотелось попробовать .
Прочитал документацию и написал не много кода, но заметил при движении тестовой фигуры (черный квадрат) какие то рывки и подергивания как будто бы играем в сетевую игру с большим пингом или слабенькой сетевой оптимизацией. Погуглил не много и понял что возможно это какая то локальная проблема с компом или софтом и прошу вас посмотреть мой код. Вдруг все же я где то допустил ошибку.
http://jsbin.com/gosovane/1/edit
Ответить с цитированием
  #2 (permalink)  
Старый 26.06.2014, 08:33
Аватар для MallSerg
Профессор
Отправить личное сообщение для MallSerg Посмотреть профиль Найти все сообщения от MallSerg
 
Регистрация: 07.03.2011
Сообщений: 1,138

Код смотреть не обязательно
Изображения:
Тип файла: jpg 1.jpg (14.5 Кб, 26 просмотров)
Ответить с цитированием
  #3 (permalink)  
Старый 26.06.2014, 09:41
Nex Nex вне форума
Новичок на форуме
Отправить личное сообщение для Nex Посмотреть профиль Найти все сообщения от Nex
 
Регистрация: 26.06.2014
Сообщений: 3

Сообщение от MallSerg Посмотреть сообщение
Код смотреть не обязательно
Я так понимаю что то не удаляется?

Может кто нибудь подскажет куда смотреть и как исправить?
Ответить с цитированием
  #4 (permalink)  
Старый 26.06.2014, 10:23
Аватар для MallSerg
Профессор
Отправить личное сообщение для MallSerg Посмотреть профиль Найти все сообщения от MallSerg
 
Регистрация: 07.03.2011
Сообщений: 1,138

Скрипт создает много новых объектов вместо того что бы использовать старые объекты.
Периодически вызывается сборщик мусора который работает 30-50 милисек
Смотреть в отладчик хрома вкладка timeline на ней включить запись.
там очень подробно в картинках и графиках показано что и как работает
Ответить с цитированием
  #5 (permalink)  
Старый 26.06.2014, 10:47
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

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

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

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

Последний раз редактировалось dmitriymar, 26.06.2014 в 12:32.
Ответить с цитированием
  #6 (permalink)  
Старый 26.06.2014, 16:47
Аватар для nverv
Аспирант
Отправить личное сообщение для nverv Посмотреть профиль Найти все сообщения от nverv
 
Регистрация: 26.06.2014
Сообщений: 70

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

дальше не читал и не проверял
Ответить с цитированием
  #7 (permalink)  
Старый 26.06.2014, 16:48
Аватар для nverv
Аспирант
Отправить личное сообщение для nverv Посмотреть профиль Найти все сообщения от nverv
 
Регистрация: 26.06.2014
Сообщений: 70

Сообщение от Nex Посмотреть сообщение
Я так понимаю что то не удаляется?
Может кто нибудь подскажет куда смотреть и как исправить?
что-то - пишется через дефис
Ответить с цитированием
  #8 (permalink)  
Старый 26.06.2014, 17:29
Аватар для nverv
Аспирант
Отправить личное сообщение для nverv Посмотреть профиль Найти все сообщения от nverv
 
Регистрация: 26.06.2014
Сообщений: 70

товарищи начинающие программисты!
надо внимательней к синтаксу языка
Ответить с цитированием
  #9 (permalink)  
Старый 27.06.2014, 04:05
Nex Nex вне форума
Новичок на форуме
Отправить личное сообщение для Nex Посмотреть профиль Найти все сообщения от Nex
 
Регистрация: 26.06.2014
Сообщений: 3

Сообщение от nverv Посмотреть сообщение
"немного" и "непонятные" - пишется слитно
Да вы что...
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
canvas рисование окружности imedia Элементы интерфейса 2 30.05.2014 17:40
canvas и drawImage() jussik Элементы интерфейса 0 27.10.2012 16:57
Почему неправильно вырисовывается canvas? Amateur Events/DOM/Window 0 19.09.2012 10:45
Создание экземпляра Canvas не затрагивая HTML Tails Общие вопросы Javascript 2 09.03.2012 13:55
Добавить на canvas еще один елемент greengarlic Общие вопросы Javascript 5 22.09.2010 10:16