Частота обновления экрана Android - PullRequest
4 голосов
/ 31 октября 2011

Я разрабатываю приложение для Android, которое работает как фильм с хлопушкой / вагонкой / сланцем. Есть ли способ установить частоту обновления дисплея?

Это очень важно, потому что при редактировании фильма необходимо «приземлиться» на определенные кадры. Дело в том, что если таймер установлен на 25 кадров в секунду, мне нужно, чтобы дисплей обновлялся ровно 25 раз в секунду, когда таймер меняет свое значение.

Проблема на физических устройствах заключается в том, что, скажем, мой Samsung Spica GT-I5700 возвращает частоту обновления 62.016, что совершенно не подходит для тайм-кода 25 кадров в секунду, а при редактировании вы можете видеть Frame1-Frame1-Frame2-Frame2 и т. Д. или посредники, когда вы должны видеть именно Frame1-Frame2 и т. д.

Дело в том, что мне нужно, чтобы частота обновления синхронизировалась с временным кодом. Если пользователь устанавливает 25 кадров в секунду, то дисплей должен обновляться ровно 25 раз в секунду. Есть идеи, пожалуйста? Спасибо!

1 Ответ

0 голосов
/ 18 января 2013

К сожалению, нет способа установить произвольную частоту обновления для любого устройства, будь то Android или нет.Видеосхема ограничена точностью своих таймеров и, как и все дискретные системы, не может работать с постоянной точностью.Тем не менее, это не должно быть слишком большой проблемой.Если вы выполняете грязный рендеринг (по требованию), просто основывайте свой кадр на системном таймере 25 Гц, и видеооборудование будет рендерить его во время следующего прохода растра - почти наверняка произойдет растровый проход 60 Гц в пределах вашего интервала 25 Гц.Вам также придется рассмотреть возможность пропуска кадров, когда система слишком занята, чтобы выдерживать интервал 25 Гц.Если вы используете рендеринг с фиксированной скоростью, просто используйте прошедшее время между рендерами, чтобы определить соответствующий кадр для данной частоты кадров.

...