![]() |
|
||||||||||
|
|
|
|||||
|
У меня довольно мощный комп, поэтому проверить сложно, вот задаю собственно такой вопрос :
Допустим я хочу создать нечто хай-тек заставки, по возможности написав все кодом. Больше всего меня интересуют просчеты через таймер. Например : в текстовом поле изначально текст 000000 , каждые 100 милисекунд хочу изменять значение на рандомное ( 6 значное ). Вопрос 1 : будет ли такой таймер убивать производительность ? Вопрос 2: если таких таймеров одновременно скажем 10-20 штук ( 20 текстовых полей) , как это ляжет на производительность? Вопрос 3 : используем кроме текстовых полей аниматоры шейпов - скоростной скейл линий, изменение цвета и т.д. и все это по таймерам или интерфреймам - хана производительности? Или же в таких случаях как раз самое то - использовать ИДЕ и рисовать всю анимацию вручную и потом подцеплять классами?
__________________
Марк Tween |
|
|||||
|
Регистрация: Jun 2011
Сообщений: 31
|
мб стоит один таймер на 20 полей?
|
|
|||||
|
Регистрация: Jan 2011
Сообщений: 70
|
Я бы делал через Энтерфрейм и гетТайм. Каждый таймер убивает производительность палюбасу.
|
|
|||||
|
Регистрация: Jun 2011
Сообщений: 212
|
Из личного опыта.
Мне нужно было раскладывать (парсить) binary-формат на отдельные объекты. Отдельных объектов - больше 15000. Простейшее решение - цикл на 15000 итераций. Это самый быстрый вариант. Но машина "висит" вплоть до таймаута страницы в браузере. Сделал таймеры. Поэкспериментировал с количеством. Ситуация примерно такая: Нужно ставить порядка 10-20 таймеров с паузой не меньше 30-40 милисекунд (меньше 20 мс вообще не имеет смысла - сам адоб об этом пишет - из за квантования времени в таймерах). В каждом таймере парсится 1 объект (можно несколько, но будут зависания). Тогда машина начинает реагировать на действия пользователя и успевать осуществлять отрисовку на экране. НО! Время парсинга увеличилось катастрофически - раз в 10. То есть если на цикл нужно было секунд 10, то с таймерами тот же объем данных "перелопачивался" около 100 секунд. Так что если машина должна "жить" во время заставки - то только таймеры. С количеством поэкспериментируй. Если допустимо вывести надпись "подождите" - то тоже таймеры, но в каждый таймер (срабатывание таймера) можно обрабатывать больший кусок кода (например с циклами). Добавлено через 22 минуты Так что вопрос не в производительности, а в том, на что эта производительность должна расходоваться: взаимодействие с пользователем, отрисовка на экране, математические просчеты и т.п. |
|
|||||
|
Регистрация: Jan 2011
Сообщений: 70
|
в каком-то языке (в Дельфях чтоле или VB) можно было в цикле вызвать функцию "обработать действия пользователя". И тогда любой цикл не мешал реагировать интерфейсу. Неужели во флеше с его асинхронностью нет такой фиговины? =/
|
|
|||||
|
Регистрация: Jun 2011
Сообщений: 212
|
ProcessMessages в actionscript нет.
|
|
|||||
|
Регистрация: Jun 2011
Сообщений: 212
|
Откуда информация?
Вот здесь http://matthewfabb.com/blog/2011/09/...-flash-update/ написано: I asked Thibault Imbert, the Product Manager for the Adobe Flash Runtimes about this on Twitter and he confirmed that worker threads would not be coming to Flash Player in version 11.0. Пост от второго сентября. Ссылка на Thibault Imbert, Product Manager for the Adobe Flash Runtimes. Добавлено через 2 минуты Максимум, что мне попадалось - это:
|
|
|||||
|
Цитата:
__________________
Ну все, теперь Забава м-о-я. Гы-гы, а корабль мой! |
![]() |
![]() |
Часовой пояс GMT +4, время: 11:09. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|