Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   ограничение области отрисовки (http://www.flasher.ru/forum/showthread.php?t=99263)

zafod 01.08.2007 10:06

ограничение области отрисовки
 
флеш конечно так или иначе рисует все, но может есть какая-то технология, которая указывает что перерисовывать надо только определенную область. Я просто долго занимался directX - и это реально прибавляло скорости.
Единственный вариант который я нашел - это tile map, грубо говоря реисовать только тайлы, которые попадают в область экрана и перерисовывать только те где произошли изменения.
Очень буду благодарен за ссылки или примеры по поводу

iNils 01.08.2007 13:39

Собственно флеш перерисовывает только ту часть которая изменилась.

Код:

showRedrawRegions (true);
Показывает ту самую область перерисовки.

Wolsh 01.08.2007 14:18

iNils - Которая изменилась, но независимо от того, видима она или нет.
Хочется чтоб невидимые сейчас области не жрали ресурсов.

iNils 01.08.2007 14:28

Вложений: 1
А они не расходуется. Это легко проверить.
Возьмите файл в аттаче и запустите, посмотрите как тормозит анимация. А теперь зайдите в объект, раскомментируйте там строчку кода, запустите еще раз и посмотрите на скорость работы.

Wolsh 01.08.2007 22:15

Что-то ты не понимаешь никак :) Речь идет о графике и анимации, находящейся за границами Стейджа, т.е. невидимой пользователю :)
Ресурсы она жрет или по-твоему не жрет? Не про редрав-функцию речь вообще, она наверняка ничего не жрет, ктож спорит. А вот в мультике я двигаю "сцену", типа перемещаю камеру, а у меня там фильтров-блендов-альфов как ворон в москве. И хотя половину объектов давно уже не видно, все они просчитываются, уж это-то точно по фпс видно. Так вот и был вопрос- как можно если можно вообще это дело прекратить? И считать только то, что реально в данный момент в окошке плеера видно.

iNils 01.08.2007 22:50

Вы об этом... Опять же, берем мой пример выше и убираем все объекты далеко за пределы видимой области, но один оставим на месте. И что, у вас производительность не возрасла? У меня в разы быстрее работает, чем когда все линии видимы.

etc 01.08.2007 23:04

Плеер не занимается отрисовкой объектов, расположенных вне сцены.

Wolsh 02.08.2007 00:47

А чем тогда? просчетом? Ну вот здесь у меня на 290 кадре :) если дождетесь, за областью видимости вводится новый объект класса цветочек, и fps падает в два раза. Цветок же появится в области видимости только в 300 кадре, и на fps это уже никак не повлияет.

iNils 02.08.2007 01:35

Wolsh, без fla о чем может идти речь? :)

Wolsh 02.08.2007 01:49

Не, ребят, я это-то от сердца оторвал - не люблю недоделки показывать.
Фла здесь ничем не поможет - анимация как анимация, никаких скриптов принципиально (не считая, понятно, счетчиков)
Еще раз - на 290 фрейме рисуется объект цветок, пока еще за пределами экрана. До этого его нет на сцене. Теперь он появляется на сцене и fps падает. Но мы его еще не видим - он за рамкой. И появляется в поле видимости в 300 фрейме. ФПС при этом не меняется.
Я делаю вывод что он таки отрисовывается, хотя и за пределами экрана.


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

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