вопрос о производительности
задачка:
есть 5-10 миллионов элементов-блоков каждый из которых имеет свой скрипт постоянно меняющий его цвет+прозрачность+положени е как думаете - выдержит ли среднестатистический процессор эту нагрузку? хочу примерно оценить, чтобы далее уже пробовать реализовать задумку |
5-10 миллионов блоков без всяких скриптов будут тормозить. А изменение прозрачности у каждого просто повесят браузер.
|
средестатистическое разрешение экрана - миллион пикселей (допустим)
каждый из них имеет скрипт который меняет цвет+прозрачность+положени е - будет работать? |
Ставлю на то, что будет очень сильно тормозить.
|
у меня 240 000 дивов браузер вешали. а плюс ещё вопрос -сценарий выполняется более 30 сек -продолжать да/нет
|
Цитата:
Если да то рисуйте в канвасе - он более к этому приспособлен, чем куча DIV_ов |
понял
тогда вопрос по канвасу - поддерживает ли он прозрачность? ну тоесть чтобы в прямоугольной области были закрашены только некоторые пиксели. и с переменной прозрачностью то есть чтобы организовать слои как фотошопе канвас выдержит такую нагрузку? если например несколько слоев по фул хд каждый, с переменной прозрачностью каждого пиксела и переменным цветом каждого пиксела |
Да. тяжело доки поискать и почитать?
|
спасибо за любезный ответ
|
Цитата:
|
не было там никакого хамства - вам показалось
зуб даю |
чо на самом деле не будет тормозить?
|
чего ей тормозить,если она для этого предназначена?
|
дык 10 мильёнов пикселей и в каждом скрипт..
ну ладно. верю. спасибо |
Цитата:
|
Цитата:
putImageData ImageData createImageData итд Однако Вы пишите о 10 миллонах пикселей-это в нескольких слоях чтоли? все зависит от того за какое время надо обработать их Вот здесь хороший прмер попиксельной работы в канвасе http://jsfiddle.net/UF4PK/ |
Цитата:
|
Раед,
нет, он имел ввиду, что для каждого пикселя предназначен скрипт, только зачем... |
Цитата:
|
Цитата:
задачка примерно такая - в разных местах канваса разные фрагменты анимации пикселов у каждого своя частота смены "кадров" анимации поэтому я и говорю - каждым участком управляет свой код js как это организовать архитектурно покане представляю как |
macdack,
Canavas - это в принципе обычно MVC. Информацию о каждом фрагменте храните в переменных (или объектах) и осуществляете действия над этими переменными. А отрисовку на канвазе выполняйте в интервале с фиксированной частотой (лучше с минимальной частотой анимации). |
Цитата:
|
Цитата:
|
всё же мне видится небольшой код (например просто массив) к каждом из задействованных пикселов (их может быть немного)
каждый пиксел переодически просматривается и перерисовывается переодичеки - наверное как в обычном видеофайле, например 60 раз в секунду |
Цитата:
Для кажого фрагмента получаем растровые данные(специальный объект) из указанного прямоугольника с помощью ImageData getImageData(x,y,w,h) Далее получаем отсюда массив-пикселей в формате rgba Производим необходимые манипуляции и периодически выводим обратно с помощью команды putImageData(ImageData idata,x,y) Ну и так для каждого фрагмента |
Цитата:
|
Цитата:
конечно же если будет перегруз то можно обойтись каким нибудь традиционным минимумом 20 - 30 герц но при более высоких частотах подозреваю появятся возможности для более выразительных анимационных эффектов опять же не стоит отбрасывать возможность 3д просмотра в очках |
Цитата:
Но webgl не кроссбраузерный-microsoft вообще нехочет поддерживать |
Цитата:
|
Часовой пояс GMT +3, время: 06:38. |