Точность синхронизации во Flash

Кто-нибудь знает, насколько точна синхронизация вспышки и ее способность определять частоту обновления монитора клиента? Я должен быть в состоянии рассчитать продолжительность времени с точностью до 10 миллисекунд времени отклика. Также, если он выключен, есть ли способ откалибровать отклик на основе частоты обновления и действия монитора, чтобы убедиться, что значение максимально приближено к точному? Любая информация будет полезной! Еще лучше были бы примеры существующих тестов.

Обновление:

Я нашел этот пост, который полезен, но хотел узнать, есть ли у кого-то еще что-то, что можно добавить по этому вопросу.

AS3: Насколько точны метод getTimer() и класс Timer?

http://www.kaourantin.net/2006/05/frame-rates-in-flash-player.html

2 ответа

Нет способа обнаружить его, и Flash Player не использует vsync, поэтому расчет времени обновления не будет иметь большого значения.

Все зависит от того, для чего вы хотите его использовать. Если вы просто синхронизируете что-то на экране, используйте getTimer с точностью до 1 мс - вам совершенно не нужно знать частоту обновления монитора для этого.

Кроме того, класс Timer ненадежен для вызовов, поэтому либо накатывайте свой собственный класс таймера, либо используйте getTimer для onEnterFrames (наиболее точный способ обновления экрана).

Вы не получаете частоту обновления монитора от Flash, даже в AIR. Да, кадры могут рендериться в разное время (особенно при большой нагрузке). AFAIK, ваш лучший источник точного времени - getTimer(). Анимация, основанная на getTimer () в ENTER_FRAME, является плавной (при условии, что частота кадров достаточно высока), хотя частота кадров может варьироваться.

Редактировать: ваш код может выполняться между сменами кадров, поэтому установите высокую частоту кадров и сохраняйте небольшую загрузку. Таким образом, вы получите больше шансов вовремя ответить. Я считаю, что точность getTimer () составляет до 1 мс, но это немного сложно проверить. Запустите программу на несколько часов, затем сравните getTimer () и прошедшее время?..

Другие вопросы по тегам