Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #21 (permalink)  
Старый 07.05.2012, 10:59
Аватар для Раед
''
Отправить личное сообщение для Раед Посмотреть профиль Найти все сообщения от Раед
 
Регистрация: 11.12.2011
Сообщений: 636

macdack,
Canavas - это в принципе обычно MVC. Информацию о каждом фрагменте храните в переменных (или объектах) и осуществляете действия над этими переменными. А отрисовку на канвазе выполняйте в интервале с фиксированной частотой (лучше с минимальной частотой анимации).
Ответить с цитированием
  #22 (permalink)  
Старый 07.05.2012, 11:05
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

Сообщение от Раед
А отрисовку на канвазе выполняйте в интервале с фиксированной частотой (лучше с минимальной частотой анимации).
будтобы нельзя обновлять разные участки канвы с различной частотой..
Ответить с цитированием
  #23 (permalink)  
Старый 07.05.2012, 11:07
Аватар для Раед
''
Отправить личное сообщение для Раед Посмотреть профиль Найти все сообщения от Раед
 
Регистрация: 11.12.2011
Сообщений: 636

Сообщение от dmitriymar
будтобы нельзя обновлять разные участки канвы с различной частотой..
Можно, но вдруг они накладываются друг на друга
Ответить с цитированием
  #24 (permalink)  
Старый 07.05.2012, 11:13
Аватар для macdack
партизан, доктор
Отправить личное сообщение для macdack Посмотреть профиль Найти все сообщения от macdack
 
Регистрация: 29.06.2011
Сообщений: 221

всё же мне видится небольшой код (например просто массив) к каждом из задействованных пикселов (их может быть немного)

каждый пиксел переодически просматривается и перерисовывается
переодичеки - наверное как в обычном видеофайле, например 60 раз в секунду
Ответить с цитированием
  #25 (permalink)  
Старый 07.05.2012, 11:15
Аватар для vadim5june
Студент
Отправить личное сообщение для vadim5june Посмотреть профиль Найти все сообщения от vadim5june
 
Регистрация: 30.04.2012
Сообщений: 1,113

Сообщение от macdack Посмотреть сообщение
задачка примерно такая - в разных местах канваса разные фрагменты анимации пикселов
у каждого своя частота смены "кадров" анимации
поэтому я и говорю - каждым участком управляет свой код js
как это организовать архитектурно покане представляю как
Я примерно так бы сделал
Для кажого фрагмента получаем растровые данные(специальный объект) из указанного прямоугольника с помощью ImageData getImageData(x,y,w,h)
Далее получаем отсюда массив-пикселей в формате rgba
Производим необходимые манипуляции и периодически выводим обратно с помощью команды putImageData(ImageData idata,x,y)
Ну и так для каждого фрагмента
Ответить с цитированием
  #26 (permalink)  
Старый 07.05.2012, 11:26
Аватар для Раед
''
Отправить личное сообщение для Раед Посмотреть профиль Найти все сообщения от Раед
 
Регистрация: 11.12.2011
Сообщений: 636

Сообщение от macdack
например 60 раз в секунду
60 раз в секунду - это каждые 16 миллисекунд! Даже при использовании канваза это издевательство над процессором.
Ответить с цитированием
  #27 (permalink)  
Старый 07.05.2012, 11:36
Аватар для macdack
партизан, доктор
Отправить личное сообщение для macdack Посмотреть профиль Найти все сообщения от macdack
 
Регистрация: 29.06.2011
Сообщений: 221

Сообщение от Раед Посмотреть сообщение
60 раз в секунду - это каждые 16 миллисекунд! Даже при использовании канваза это издевательство над процессором.
ну это я так, для красново словца, вспоминая аватара 60герц ))

конечно же если будет перегруз то можно обойтись каким нибудь традиционным минимумом 20 - 30 герц

но при более высоких частотах подозреваю появятся возможности для более выразительных анимационных эффектов

опять же не стоит отбрасывать возможность 3д просмотра в очках
Ответить с цитированием
  #28 (permalink)  
Старый 07.05.2012, 11:41
Аватар для vadim5june
Студент
Отправить личное сообщение для vadim5june Посмотреть профиль Найти все сообщения от vadim5june
 
Регистрация: 30.04.2012
Сообщений: 1,113

Сообщение от macdack Посмотреть сообщение
опять же не стоит отбрасывать возможность 3д просмотра в очках
Если речь идет о 3d то стоит посмотреть на webgl-там скорость намного выше потому что видеокарта задействована
Но webgl не кроссбраузерный-microsoft вообще нехочет поддерживать
Ответить с цитированием
  #29 (permalink)  
Старый 07.05.2012, 11:51
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

Сообщение от Раед Посмотреть сообщение
60 раз в секунду - это каждые 16 миллисекунд! Даже при использовании канваза это издевательство над процессором.
используйте requestAnimationFrame - исполнение функции перед reflow. есть везде, где есть канвас.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос по each() и перебору строк таблицы battrack jQuery 1 09.02.2012 14:30
вопрос про возможности JS для рисования и анимации macdack Библиотеки/Тулкиты/Фреймворки 3 15.07.2011 00:13
Вопрос по работе функций в PHP bayah Серверные языки и технологии 2 12.02.2011 17:42
Теоретический вопрос. gods33 (X)HTML/CSS 10 16.12.2010 23:49
вопрос по long poll megaswin AJAX и COMET 2 27.05.2008 09:20