![]() |
|
||||||||||
|
|||||
|
Я знаю что флеш однопоточный. Но нельзя ли как то смягчить воздействие одной операции на другую. Например когда идет draw() в BitmapData. То fps падает до 0. Как это лечить?
|
|
|||||
|
некрофил
Регистрация: Mar 2002
Адрес: ...по колено в кровище...
Сообщений: 2,292
|
FPS падает до 0, потому что следующий кадр не наступает, пока не выполнится скрипт. Если только ты не пытаешься в битмап засунуть графику 10000х10000, то единичная операция BitmapData.draw(...) ничего останавливать не должна, а если их много, то можно их раскидать по кадрам, т.е. отрисовать 10, подождать следующего кадра, отрисовать ещё 10, и т.д.
__________________
...убивать людей не удовольствия ради, но для еды. |
|
|||||
|
Совсем не большая картинка. ну где то 400 * 900. Может есть какой то способ разбить отрисовку на несколько частей?
|
|
|||||
|
Регистрация: Jan 2009
Сообщений: 1,651
|
разделите цикл прорисовки в битмап на несколько.
Подцикл выполняйте на enterFrame. И не забывайте про lock() перед циклом прорисовки и unlock() после цикла прорисовки. |
|
|||||
|
а по подробнее. как это сделать?
|
|
|||||
|
Объясню всю сетуацию. Я беру TextField и делаю из него прокручиваемую картинку с помощью draw();. Если мало текста, то почти незаметна задержка. Но когда чуть больше начинаются глюки.
|
![]() |
![]() |
Часовой пояс GMT +4, время: 05:36. |
|
|
« Предыдущая тема | Следующая тема » |
|
|