Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   происходит ли перерисовка объекта при visible=false (http://www.flasher.ru/forum/showthread.php?t=139383)

Aloran 29.04.2010 17:11

происходит ли перерисовка объекта при visible=false
 
происходит ли перерисовка объекта при visible=false

Волгоградец 29.04.2010 17:31

Нет, не происходит.

kayn 29.04.2010 17:31

Включаем: отображать область прорисовки. Убеждаемся, что нет. При работе с 3D, часто приходится отключать свойство visible, чтобы не перегружать карту.

Aloran 29.04.2010 17:39

Замечательно. Т.е. достаточно скрыть объект не удаляя его со сцены.

orcpochta 29.04.2010 17:47

если я правильно понимаю, то перерисовка видимого объекта происходит только в том случае, если видимая зона отображения, где он находится, каким-то образом изменилась (или он сам изменился)

т.е. по событию ENTER_FRAME перерисовывается не вся область отображения, а только те куски, которые реально изменились (там какой-то алгоритм разбиения области отображения на статические куски и куски, подвергнутые изменению)

kayn 29.04.2010 18:04

Да, но если изменениям подвергается мув в который понатыкано изображений, то прорисовываться будут только те из них, у которых включено visible. У меня тут http://www.flasher.ru/forum/showthread.php?t=138863 работка которая на моем буке без этого замечательного свойства просто не работает.

orcpochta 29.04.2010 18:09

еще раз - перерисовываются только видимые части экрана, подвергающиеся изменению

как у вас при visible=false может быть видим объект? никак, т.е. перерисовываться он не будет, т.е. о нем вообщ нет смысла разговаривать
более того, объект, закрытый другим непрозрачным объектом тоже, вроде, не будет перерисовываться, хоть и visible у него будет true - как-то так, если не наврал

Zebestov 29.04.2010 18:12

Цитата:

Сообщение от orcpochta (Сообщение 904816)
если я правильно понимаю, то перерисовка видимого объекта происходит только в том случае, если видимая зона отображения, где он находится, каким-то образом изменилась (или он сам изменился)

т.е. по событию ENTER_FRAME перерисовывается не вся область отображения, а только те куски, которые реально изменились (там какой-то алгоритм разбиения области отображения на статические куски и куски, подвергнутые изменению)

Хм. Ну я реально не знаю, так ли грамотно обстоят дела во Flash. У адоби не хватило алгоритмического мышления, чтобы программа After Effects дистигнув фрагмента, где ничего(!) не меняется, просто брала уже просчитанный предыдущий кадр. Казалось бы — не то что зоны отображения там просматривать =) а тупо увидеть, что ни один ключ ни в одном слое не поменялся =) (по крайне мере так было до недавнего времени)

orcpochta 29.04.2010 18:14

ну не приснилось же мне это)))
где-то вычитал - или в Муке или в адобовской справке)))

Zebestov 29.04.2010 18:17

та не — я только "за", если так.

kayn 29.04.2010 18:26

В After Effects CS4, а я с ним уже год работаю, не изменяющиеся объекты проигрывающая головка проходит много быстрее чем анимированные. Причем, если свойство opacity=0, то и After Effects делает вид, что объекта на сцене нет.

Zebestov 29.04.2010 18:37

Цитата:

Сообщение от kayn (Сообщение 904833)
В After Effects CS4, а я с ним уже год работаю, не изменяющиеся объекты проигрывающая головка проходит много быстрее чем анимированные. Причем, если свойство opacity=0, то и After Effects делает вид, что объекта на сцене нет.

ну молодцы, что исправили =) хвалю!

iflamberg 29.04.2010 18:53

всё круто, только enterFrame для скрытого кадра продолжает отрабатывать, если в мувике несколько кадров, то они продолжают менятся и память не освобождается.

kayn 29.04.2010 19:00

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

orcpochta 29.04.2010 19:02

Цитата:

Сообщение от iflamberg (Сообщение 904845)
всё круто, только enterFrame для скрытого кадра продолжает отрабатывать, если в мувике несколько кадров, то они продолжают менятся и память не освобождается.

код на то и код, чтобы отрабатывать - прорисовки-то при этом не происходит)))

Psycho Tiger 29.04.2010 21:37

Происходит отрисовка только видимых объектов.
Делаем сложнейший Shape Tween, чтобы бедный компьютер сходил с ума и двигаем за сцену. При этом на сцене пусть летает какой-нибудь мячик. Компилим. Мячик летает без тормозов. Делаем фулл-скринн с 100%, чтобы анимация была видна. Нереальные тормоза.

Но код с этим никак не связан. Если следовать такой логике, то класс, исследующийся не от DisplayObject`а и вовсе не будет работать.

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


Часовой пояс GMT +4, время: 01:37.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.