Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   flash тормозит при рисовании с помощью drawTriangles (http://www.flasher.ru/forum/showthread.php?t=154251)

DEAFFF 14.04.2011 21:28

flash тормозит при рисовании с помощью drawTriangles
 
Вложений: 2
Привет!

Вообщем проблема такая - рисую 2 треугольника с помощью drawTriangles на весь экран приложения (800х600) каждый кадр в перспективе, очищая естественно экран перед отрисовкой. Ужасно начинает тормозить и проц на 100%, выдает 20 фпс. Причем зависит строго от площади отрисовки, т.е. если я уменьшаю размер приложения до 640х480 то рисуется быстрее - и проц 50% при 30 фпс. Помню стоял виндовс ХП - все работало шустро, а щаз виндовс 7...

Встречался кто нить с такой проблемой?

Прилагаю скриншоты.

1.jpg - смотрим на домик, как видно площадь отрисовки примерно 40%
выдает 25-30 из 30 фпс
рендер тайм - т.е. время затраченное на рендер сцены и вызовы drawTriangles - 9 мс
как видно треугольников дофига

2.jpg - смотрим вниз на землю, площадь отрисовки 100%
выдает 13-15 из 30 фпс
рендер тайм - 1 мс
как видно треугольников всего два

Вся сцена подрезается - т.е. делается clipping

Мне кажется, что в виндовс 7 с моим железом какая то проблема... хотя как такое может быть...
Причем если делать перспективную коррекцию старыми методами - т.е. дроблением на треугольники - то все работает очень быстро.

Ariel 16.04.2011 04:40

хотя бы скриншот подколите.. Совсем неясно...
Например, если рисовать стандартным набором graphics ничего вообще никогда не тормозит.

От площади оно всегда зависит - рендерер флашовый слаб потому как виртуальный (байткодовый)

i.o. 16.04.2011 05:52

Цитата:

рендерер флашовый слаб потому как виртуальный (байткодовый)
с этого места поподробнее, пожалуйста

DEAFFF 16.04.2011 13:04

обновил пост

Ariel 16.04.2011 17:25

2i.o. : нечего тут поподробнее. Виртуальная машинка завсегда будет слабее нативного кода. От 15, 100 раз, до бесконечности. Если переписать ЛЮБУЮ задачу с Флаша в платформозависимое приложение, получаем зверский прирост мощностев. Именно поэтому дядюшка Джобс тормозит продвижение FP на свои I-продукты - перегреется все и батареи сядут вмиг.

DEAFF : Как насчет теста на разных машинах\операционках? Везде одинаково тормозит?

i.o. 16.04.2011 17:35

Цитата:

2i.o. : нечего тут поподробнее. Виртуальная машинка завсегда будет слабее нативного кода. От 15, 100 раз, до бесконечности. Если переписать ЛЮБУЮ задачу с Флаша в платформозависимое приложение, получаем зверский прирост мощностев
Сразу видно, вы человек знающий работу ФП. Поверю наслово.

DEAFFF 16.04.2011 17:37

С виртуальной машиной все ок, я ж говорю что время рендера а т.е. время исполнения всего кода отрисовки 9 мс в первом случае, и 1 мс во втором, но тормозит во втором, а в первом нет? Отсюда вывод - виртуальная машина работает нормально, и чем больше площадь отрисовки, тем дольше флеш плеер рисует треугольники. К тому же тут даже не в отрисовке а скорее в методе рисования drawTriangles, потому как если рисовать обычными moveTo lineTo - то все быстро!

Дак в том то и дело на других современных машинах все окей... Скорее всего конфигурация моего компа довольно старая. Наверняка для современных машин срабатывает какая то оптимизация.

Obi 16.04.2011 19:04

> Если переписать ЛЮБУЮ задачу с Флаша в платформозависимое приложение

Ну флеш тормозит не из-за кроссплатформенности. Возьмите в качестве примера виртуальную машину java. Она кроссплатформенная и очень быстрая.

Ariel 16.04.2011 23:26

Она все равно по умолчанию медленнее нативного кода. Это плата за кроссплатформенность.


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

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