Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Action script 2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=49)
-   -   setInterval vs onEnterFame (http://www.flasher.ru/forum/showthread.php?t=64820)

Ромастый 13.11.2004 19:54

setInterval vs onEnterFame
 
Вопрос скорее теоретический. Наверное, это к мэтрам :)
Если вешаешь выполнение одинаковой задачи на onEnterFrame и setInterval, что более ресурсоемко и больше нагружает процессор?

ruboard 30.11.2004 14:00

1. Как и обработка событий onEnterFrame, так и setInterval содержит какой-то код...
Пусть возьмем interval = 1000/fps
(То есть периоды вызовов одинаковые)

2. Естественно, что-то на экране может меняться при этом...И нужно перерисовать....вот тут-то и есть различие между onEnterFrame и setInterval...

onEnterFrame: перерисовывает весь экран полностью (по крайней мере до версии плейера 7 включительно было так, в 8-ом говорят что такого не будет )

setInterval, а вернее updateAfterEvent() в нем: перерисует только ту часть экрана, где изменились свойства клипов...

Сделай выводы сам, а вопрос об использовании того или иного метода - зависит от fps, interval-а который ты задаешь, и от мувиков, которые будут обновляться...

john 01.12.2004 15:44

Цитата:

onEnterFrame: перерисовывает весь экран полностью
ничего подобного,
флэшплеер шлет руту на перерисовку именно тот участок который изменился (ВСЕГДА)
независимо что это сетинтервал или он энтерфрейм....

FreeLander 01.12.2004 16:52

нововведение 8-го заключается в том, что в определённых ситуациях мувиками оперируют как растрами, а не как векторными объектами, за счёт чего производительность повышается, а про различие в прорисовке между setInterval и onEnterFrame ничего не слышал

ruboard 01.12.2004 18:12

...Так оно и есть. Но только в случае если все создано скриптом...
А представь, что в большинстве случаев мувики у нас с несколькими кадрами, в которых есть мувики, которые не меняется....
Но такой мувик тоже перерисовывается при onEnterFrame и причем весь...

А какому руту он чего-то шлет? Что это за рут такой? Случаем не _root? :)

Jlekc 01.12.2004 20:35

ЗЫ: все говорят о 8-ом шаре, а кады он будет в продаже???

john 01.12.2004 23:23

2ruboard
рут - кто выше в иерархии...
честно говоря даже не знаю...
браузеру ... системе....

просто был опыт такой,
интегрировался флэш в сишное приложение,

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

после долгого изучения этого бесценого материала есть знание как флэш перерисовывает и когда :)

john 01.12.2004 23:31

кстати по перерисовке....

во-первых, было два вывода,
если есть мувиклп с несколькими кадрами даже без кейфреймов, который проигрывается, но графика не изменяется при анимации, то он будет постоянно перерисовываться...

во-вторых, если даже мувиклип не видим _visible = false то он тоже постоянно перерисовывается...
вот такие пироги,

а по поводу восьмого флэша,
там друга вещь.... битмап кешинг.... то бишь,
флэш не рендерит каждый раз вектор - не вычисляет линии, антиалиасинг и другие нагружающие процессор задачи, а кеширует его в битмап и выводит на экран уже готовые, закешированные данные....
то есть воспринимает мувиклип как битовую картинку... отсюда и огромный прирост в скорости прорисовки.

к онэтерфрейму и сетинтервалу это дело не относится....

ruboard 03.12.2004 12:46

...кста,ти если _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
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.