Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 29.09.2011, 16:25
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 1  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
По умолчанию Скоростные просчеты

У меня довольно мощный комп, поэтому проверить сложно, вот задаю собственно такой вопрос :

Допустим я хочу создать нечто хай-тек заставки, по возможности написав все кодом. Больше всего меня интересуют просчеты через таймер.
Например : в текстовом поле изначально текст 000000 , каждые 100 милисекунд хочу изменять значение на рандомное ( 6 значное ). Вопрос 1 : будет ли такой таймер убивать производительность ? Вопрос 2: если таких таймеров одновременно скажем 10-20 штук ( 20 текстовых полей) , как это ляжет на производительность? Вопрос 3 : используем кроме текстовых полей аниматоры шейпов - скоростной скейл линий, изменение цвета и т.д. и все это по таймерам или интерфреймам - хана производительности?

Или же в таких случаях как раз самое то - использовать ИДЕ и рисовать всю анимацию вручную и потом подцеплять классами?
__________________
Марк Tween

Старый 29.09.2011, 16:52
Zolza вне форума Посмотреть профиль Отправить личное сообщение для Zolza Найти все сообщения от Zolza
  № 2  
Ответить с цитированием
Zolza

Регистрация: Jun 2011
Сообщений: 31
Цитата:
Сообщение от in4core Посмотреть сообщение
если таких таймеров одновременно скажем 10-20 штук ( 20 текстовых полей) , как это ляжет на производительность?
мб стоит один таймер на 20 полей?

Старый 29.09.2011, 17:08
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 3  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
Если 20 полей сразу запускаются, а если нет? ТОгда не выгодно. В любом случае вопрос интересен - как убивает это производительность
__________________
Марк Tween

Старый 29.09.2011, 18:13
flax4Noob вне форума Посмотреть профиль Отправить личное сообщение для flax4Noob Найти все сообщения от flax4Noob
  № 4  
Ответить с цитированием
flax4Noob
[+1 15.01.11]

Регистрация: Jan 2011
Сообщений: 70
Я бы делал через Энтерфрейм и гетТайм. Каждый таймер убивает производительность палюбасу.

Старый 29.09.2011, 19:11
trng вне форума Посмотреть профиль Отправить личное сообщение для trng Найти все сообщения от trng
  № 5  
Ответить с цитированием
trng

Регистрация: Jun 2011
Сообщений: 212
Из личного опыта.
Мне нужно было раскладывать (парсить) binary-формат на отдельные объекты.
Отдельных объектов - больше 15000.
Простейшее решение - цикл на 15000 итераций.
Это самый быстрый вариант. Но машина "висит" вплоть до таймаута страницы в браузере.

Сделал таймеры. Поэкспериментировал с количеством.
Ситуация примерно такая:
Нужно ставить порядка 10-20 таймеров с паузой не меньше 30-40 милисекунд (меньше 20 мс вообще не имеет смысла - сам адоб об этом пишет - из за квантования времени в таймерах). В каждом таймере парсится 1 объект (можно несколько, но будут зависания).
Тогда машина начинает реагировать на действия пользователя и успевать осуществлять отрисовку на экране.
НО!
Время парсинга увеличилось катастрофически - раз в 10.
То есть если на цикл нужно было секунд 10, то с таймерами тот же объем данных "перелопачивался" около 100 секунд.

Так что если машина должна "жить" во время заставки - то только таймеры. С количеством поэкспериментируй.
Если допустимо вывести надпись "подождите" - то тоже таймеры, но в каждый таймер (срабатывание таймера) можно обрабатывать больший кусок кода (например с циклами).

Добавлено через 22 минуты
Так что вопрос не в производительности, а в том, на что эта производительность должна расходоваться: взаимодействие с пользователем, отрисовка на экране, математические просчеты и т.п.

Старый 29.09.2011, 19:40
flax4Noob вне форума Посмотреть профиль Отправить личное сообщение для flax4Noob Найти все сообщения от flax4Noob
  № 6  
Ответить с цитированием
flax4Noob
[+1 15.01.11]

Регистрация: Jan 2011
Сообщений: 70
в каком-то языке (в Дельфях чтоле или VB) можно было в цикле вызвать функцию "обработать действия пользователя". И тогда любой цикл не мешал реагировать интерфейсу. Неужели во флеше с его асинхронностью нет такой фиговины? =/

Старый 29.09.2011, 19:54
trng вне форума Посмотреть профиль Отправить личное сообщение для trng Найти все сообщения от trng
  № 7  
Ответить с цитированием
trng

Регистрация: Jun 2011
Сообщений: 212
Цитата:
Сообщение от flax4Noob Посмотреть сообщение
в каком-то языке (в Дельфях чтоле или VB) можно было в цикле вызвать функцию "обработать действия пользователя". И тогда любой цикл не мешал реагировать интерфейсу. Неужели во флеше с его асинхронностью нет такой фиговины? =/
ProcessMessages в actionscript нет.

Старый 30.09.2011, 00:20
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 8  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Потоки появятся в 11 релизе.
__________________
тут я

Старый 30.09.2011, 00:56
trng вне форума Посмотреть профиль Отправить личное сообщение для trng Найти все сообщения от trng
  № 9  
Ответить с цитированием
trng

Регистрация: Jun 2011
Сообщений: 212
Цитата:
Сообщение от КорДум Посмотреть сообщение
Потоки появятся в 11 релизе.
Откуда информация?
Вот здесь 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 минуты
Максимум, что мне попадалось - это:
  • worker threads действительно будут;
  • worker threads - не совсем multithreading.

Старый 30.09.2011, 01:04
TanaTiX вне форума Посмотреть профиль Отправить личное сообщение для TanaTiX Найти все сообщения от TanaTiX
  № 10  
Ответить с цитированием
TanaTiX
 
Аватар для TanaTiX

блогер
Регистрация: Feb 2008
Сообщений: 1,453
Записей в блоге: 4
Цитата:
использовать ИДЕ и рисовать всю анимацию вручную
По своему опыту скажу, что покадровая анимация больше кушает ресурсов, чем грамотная программная имитация.
__________________
Ну все, теперь Забава м-о-я.
Гы-гы, а корабль мой!

Создать новую тему Ответ Часовой пояс GMT +4, время: 07:13.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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