setInterval vs onEnterFame
Вопрос скорее теоретический. Наверное, это к мэтрам :)
Если вешаешь выполнение одинаковой задачи на onEnterFrame и setInterval, что более ресурсоемко и больше нагружает процессор? |
1. Как и обработка событий onEnterFrame, так и setInterval содержит какой-то код...
Пусть возьмем interval = 1000/fps (То есть периоды вызовов одинаковые) 2. Естественно, что-то на экране может меняться при этом...И нужно перерисовать....вот тут-то и есть различие между onEnterFrame и setInterval... onEnterFrame: перерисовывает весь экран полностью (по крайней мере до версии плейера 7 включительно было так, в 8-ом говорят что такого не будет ) setInterval, а вернее updateAfterEvent() в нем: перерисует только ту часть экрана, где изменились свойства клипов... Сделай выводы сам, а вопрос об использовании того или иного метода - зависит от fps, interval-а который ты задаешь, и от мувиков, которые будут обновляться... |
Цитата:
флэшплеер шлет руту на перерисовку именно тот участок который изменился (ВСЕГДА) независимо что это сетинтервал или он энтерфрейм.... |
нововведение 8-го заключается в том, что в определённых ситуациях мувиками оперируют как растрами, а не как векторными объектами, за счёт чего производительность повышается, а про различие в прорисовке между setInterval и onEnterFrame ничего не слышал
|
...Так оно и есть. Но только в случае если все создано скриптом...
А представь, что в большинстве случаев мувики у нас с несколькими кадрами, в которых есть мувики, которые не меняется.... Но такой мувик тоже перерисовывается при onEnterFrame и причем весь... А какому руту он чего-то шлет? Что это за рут такой? Случаем не _root? :) |
ЗЫ: все говорят о 8-ом шаре, а кады он будет в продаже???
|
2ruboard
рут - кто выше в иерархии... честно говоря даже не знаю... браузеру ... системе.... просто был опыт такой, интегрировался флэш в сишное приложение, отличный парень Макс написал плюшку которая показывала мессаги плеера и рисовала квадратики которые плеер перерисовыват.... после долгого изучения этого бесценого материала есть знание как флэш перерисовывает и когда :) |
кстати по перерисовке....
во-первых, было два вывода, если есть мувиклп с несколькими кадрами даже без кейфреймов, который проигрывается, но графика не изменяется при анимации, то он будет постоянно перерисовываться... во-вторых, если даже мувиклип не видим _visible = false то он тоже постоянно перерисовывается... вот такие пироги, а по поводу восьмого флэша, там друга вещь.... битмап кешинг.... то бишь, флэш не рендерит каждый раз вектор - не вычисляет линии, антиалиасинг и другие нагружающие процессор задачи, а кеширует его в битмап и выводит на экран уже готовые, закешированные данные.... то есть воспринимает мувиклип как битовую картинку... отсюда и огромный прирост в скорости прорисовки. к онэтерфрейму и сетинтервалу это дело не относится.... |
...кста,ти если _visible=false - не перерисовывается, если _alpha=0 - перерисуется
Про 8-ой все ясна...если анимация создана в редакторе, руками - то получим явную оптимизацию... Если же мувики транс формируются скриптом - то производительность повысится незначительно...скорее всего только при move (без геометрической транс формации) и colorTransform |
Часовой пояс GMT +4, время: 02:43. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.