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

Вернуться   Форум Flasher.ru > Архив Flasher.ru > Flash > ActionScript

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 21.05.2003, 02:53
IgorData вне форума Посмотреть профиль Отправить личное сообщение для IgorData Посетить домашнюю страницу IgorData Найти все сообщения от IgorData
  № 1  
IgorData

Регистрация: May 2003
Адрес: Москва
Сообщений: 41
По умолчанию Эксперименты с Fps

Вторую неделю во флеше -- каждый день новое открытие. Решил замерить FPS при програмном рисовании. Получил странный результат. Мерил следующим образом. В начале кадра замеряю время старта через getTimer, и в конце соотв тоже самое. отнимаю, 1000 делю на результат. Получаю, что на глаз явно не такая цифра должна быть...
Схема стандартная -- первый кадр инитит переменные, во втором код, в третьем gotoAndPlay(2). Поместил gotoAndPlay(2) во второй же кадр, фиг с ним с рисованим. Выяснилось, что отыграв второй кадр за, скажем, 38 миллисекунд, он не запускается снова еще 40-60 мс. Если копировать весь код в третий кадр, и оттуда gotoAndPlay(2), то третий запускается через одну мс, а второй снова только через 50 мс. Мде...

вот кусок лога:
...
tStart 4199 - tStop 4227 = 28
tStart 4281 - tStop 4309 = 28
tStart 4310 - tStop 4338 = 28
tStart 4422 - tStop 4450 = 28
tStart 4451 - tStop 4479 = 28
tStart 4526 - tStop 4555 = 29
tStart 4555 - tStop 4583 = 28
...



Простите за сумбурность. Просто поделился наблюдениями. Если кто знает, как бороться с потеряным временем, поделитесь, плс.

Старый 21.05.2003, 03:15
IgorData вне форума Посмотреть профиль Отправить личное сообщение для IgorData Посетить домашнюю страницу IgorData Найти все сообщения от IgorData
  № 2  
IgorData

Регистрация: May 2003
Адрес: Москва
Сообщений: 41
По умолчанию поправочка

Переход с минимальными (1) мс происходит не со второго на третий, а с третьего на следующий второй, а между кадрами теряется время. Почему-то.

Старый 21.05.2003, 15:19
Useless вне форума Посмотреть профиль Отправить личное сообщение для Useless Посетить домашнюю страницу Useless Найти все сообщения от Useless
  № 3  
Useless

Регистрация: Mar 2001
Адрес: всё, отжился...
Сообщений: 1,024
Отправить сообщение для Useless с помощью ICQ
Фреймовый код исполняется перед показом кадра. Затем идёт временная задержка, соответствующая выставленному фреймрейту.

Если в коде встречается переход на другой кадр, то сразу после исполнения текущего кода происходит переход, исполняется код в новом кадре, и только после этого показывается графика и происходит задержка по фреймрейту.

В реальности, правда, всё ещё немного сложнее...
__________________
Work not wolf - in forest no run

Старый 21.05.2003, 16:42
IgorData вне форума Посмотреть профиль Отправить личное сообщение для IgorData Посетить домашнюю страницу IgorData Найти все сообщения от IgorData
  № 4  
IgorData

Регистрация: May 2003
Адрес: Москва
Сообщений: 41
По умолчанию Ничче не понимаю

А как в реальности? И почему он дает задержки в зависимости от исполненого кода? и при выставленом FPS=120 у меня код исполнялся за 100мс и такую же задерку я ловил. Дурь какая-то. Он же не по два раза все фигачит? Сам объем кода мизерный -- цикл на полторы сотни кривых рандомом.

Старый 21.05.2003, 23:35
greyshaman вне форума Посмотреть профиль Отправить личное сообщение для greyshaman Найти все сообщения от greyshaman
  № 5  
greyshaman

Регистрация: Aug 2001
Адрес: vg
Сообщений: 352
Отрисовка векторов задачка медленная по определению.
Отрисовка кривой еще более медленная задачка.
Определение пересечения кривых (для того чтобы отрисовать антиалиасинг) сильно медленная задачка. Задачки просто насыщены матрицами, преобразованиями, выдумками разных умных дядьков. Решаем эти задачки 150! раз (здесь !знак факториал) потому как ставятся они последовательно.

Вот тебе и мизерный "цикл на полторы сотни кривых рандомом".

Старый 21.05.2003, 23:57
IgorData вне форума Посмотреть профиль Отправить личное сообщение для IgorData Посетить домашнюю страницу IgorData Найти все сообщения от IgorData
  № 6  
IgorData

Регистрация: May 2003
Адрес: Москва
Сообщений: 41
По умолчанию хехехе

Да не. Время исполнения кода я замеряю и получаю результат. Но переход между кадрами занимает какое-то время, пропорциональное времени исполнения кода (у меня код ~100ms; переход ~60ms), при этом переход с последнего снова на начало занимает символическую одну миллисекунду.

Фиг с ним. Дальше больше.

Косинус какого угла равен нулю? А вот и нет. Нет таких углов в нашей канцелярии. Лог:



0 1
1 0.999847695156391
2 0.999390827019096
3 0.998629534754574

58 0.529919264233205
59 0.515038074910054
60 0.5
61 0.484809620246337
62 0.469471562785891
63 0.453990499739547

89 0.0174524064372836
90 6.12303176911189e-17
91 -0.0174524064372835
92 -0.034899496702501

118 -0.469471562785891
119 -0.484809620246337
120 -0.5
121 -0.515038074910054
122 -0.529919264233205
123 -0.544639035015027

178 -0.999390827019096
179 -0.999847695156391
180 -1
181 -0.999847695156391
182 -0.999390827019096
183 -0.998629534754574

238 -0.529919264233205
239 -0.515038074910055
240 -0.5
241 -0.484809620246337
242 -0.469471562785891
243 -0.453990499739547

268 -0.0348994967025008
269 -0.0174524064372835
270 -1.83690953073357e-16
271 0.0174524064372831

298 0.46947156278589
299 0.484809620246337
300 0.5
301 0.515038074910054
302 0.529919264233205

357 0.998629534754574
358 0.999390827019096
359 0.999847695156391
360 1



т.е. cos 90 и 270 градусов некоторая мистическая величина, лежащая в грани, тоньше человеческого волоса.

Или я опять не в теме?

Старый 22.05.2003, 00:04
greyshaman вне форума Посмотреть профиль Отправить личное сообщение для greyshaman Найти все сообщения от greyshaman
  № 7  
greyshaman

Регистрация: Aug 2001
Адрес: vg
Сообщений: 352
патамучто число PI не равно 3.14159265358979
то что ты видишь погрешность от его округления до этой величины.

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

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

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


 


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


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