PDA

Просмотр полной версии : Помогите ускорить и оптимизировать графику. (Double buffering?))


123avr.com
08.11.2007, 01:17
Всем привет,

После долгих ночей , когда идея почти реализована, столкнулся я с тем, что называется "тормозит" :eek:

Идея - куча мувиков с графикой (довольно увесистой графикой) ездят по сцене в зависимости от положения мыши. От расстояния до курсора зависит степень их размытости (blur) и размеров (scale). плюс вся сцена scaleится при наеезде на определенные места.

И blur и scale изменяются для каждого мувика покадраво используя this.addEventListener(Event.ENTER_FRAME, checkMyBlur);
this.addEventListener(Event.ENTER_FRAME, checkMyScale);

В результате даже на низких качествах блура и всего мувика - весь проект тормозит по страшному (1-5fps можно выжать максимум)

Уважаемые ГУРУ, может будут предложения как это все оптимизировать и ускорить? Подозреваю что double buffering бы помог, но не приложу ума куда его вставлять и как применять . И опять же - не знаю эффективно ли это в моем случае. Благодорю за соображения и ссылки :)

derhab
08.11.2007, 02:32
а что за Double buffering?
Думаю в твоем случае надо менять саму концепцию:)
куча мувиков с графикой (довольно увесистой графикой) ездят по сцене....И blur и scale изменяются для каждого мувика покадраво
это очень жестко)

123avr.com
08.11.2007, 05:03
Хмм понял фишку одну-тормозят большие по размеру мувики (даже если в нем есть всего лишь одна линия толщиной в 1 пикселик наискосок на весь экран). Тобишь он пустое место тоже блурит и маштабирует... :( Как бы этого избежать?

А doubleBuffering это когда прорисовывается сначала один фрейм в буфер , и затем отображается.А когда он отображается, следующий кадр уже рисуется в буффер. ТО есть не непосредственно на экран рисовать, а в буффер. Таким, кстати, макаром и мерцание можно убрать и ЦПУ разгрузить в два три раза. Вот только не умею еще :)

ALiEN_
08.11.2007, 14:27
В Вашем случае это не поможет, потому что тормоза происходят из-за вычислений. Проще говоря - процессор не справляется. Надо тюнить код, и как сказали выше - менять концепцию.

Sy_2007
22.11.2007, 01:39
А ты б, подумал наперёд, где городить свой огород.........

Наверное можно попробовать подменять мувики снятыми с них битмапдатами и фильтровать их если это конечно будет не то-же самое.....

LinuxVideo
22.11.2007, 03:39
Если блюра много, но можно сделать ему draw на bitmapdata, но в более мелком разрешении, разблюрить, а потом ресазить до прежних размеров