|
Как увидеть FPS?, Как визуально без измериловки увидеть FPS больше 30Гц? |
|
|
2 страниц
1 2 >
|
 |
Ответов
(1 - 28)
|
Sep 25 2017, 12:56
|
Гуру
     
Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713

|
Цитата(MegaVolt @ Sep 25 2017, 19:09)  Собственно подскажите есть ли какие то типовые паттерны для обоих случаев которые стоит писать в память чтобы наглядно убедиться в наличии заданных FPS. А в идеале чтобы можно было их измерить например +/-5 FPS пойдёт. Вам надо померить FPS без дополнительных датчиков (фотодиодов)? Например так: Допустим - известно, что видеопамять выводится построчно (т.е. - сперва 1-я, строка, потом - 2-я и т.д.). Изначально экран пустой - заполнен 0-ми. МК с фиксированной скоростью (прерывания и прочие процессы все выключены, есть только один процесс рисования) в первом проходе цикла выводит столбец байтов 0xFF, затем сразу же этот же столбец во 2-м проходе заполняет нулями. Скорость вывода столбца должна быть больше скорости экранной развёртки (за время одной развёртки МК должен успеть заполнить 0xFF, а затем заполнить 0-и этот столбец). Данный процесс повторять периодически с интервалом примерно в 2-3 экранных развёртки. На экране будет наблюдаться мерцающий вертикальный столбец, перемещающийся по вертикали (из-за разности начальных фаз отрисовки контроллером экрана и CPU). Меряем линейкой высоту столбца на экране и из неё, зная скорость отрисовки CPU, получаем частоту развёртки. Если знать начало развёртки видеоконтроллером (по какому либо сигналу), то привязав отрисовку CPU к этому сигналу, можно получить статичный, а не плывущий по экрану столбец. Даже если не знать начало развёртки кадра, то можно, варьируя задержку между циклами отрисовки (на небольшую величину), добиться малой скорости смещения столбца, так чтобы померить его было удобно. Также можно линейку нарисовать в соседнем столбце (пикселами). Примерно так. PS: Да - и при чём тут "Аналоговая техника"??? Вроде есть спец. ветка по устройствам отображения.
|
|
|
|
|
Sep 25 2017, 13:15
|
Знающий
   
Группа: Свой
Сообщений: 779
Регистрация: 3-01-05
Из: Минск
Пользователь №: 1 783

|
Цитата(jcxz @ Sep 25 2017, 15:56)  Вам надо померить FPS без дополнительных датчиков (фотодиодов)? Ага именно так. И желательно без пересчёта тоже  )) Цитата Например так: Меряем линейкой высоту столбца на экране и из неё, зная скорость отрисовки CPU, получаем частоту развёртки. Т.е. по сути мы включаем столбец на некоторое время и смотрим сколько строк успел отрисовать экран за кадр? Хитро... Цитата PS: Да - и при чём тут "Аналоговая техника"??? Вроде есть спец. ветка по устройствам отображения. Упс... не нашёл подходящий раздел  . Модераторы перенесите тему плииз в нужный раздел.
|
|
|
|
|
Sep 25 2017, 16:10
|
Гуру
     
Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713

|
Цитата(Myron @ Sep 25 2017, 21:03)  Ну и решение из прошлого века - почему нельзя просто измерить частоту кадровых/строчных импульсов? Исходя из условия. А Вы знаете какой там контроллер? А если это капля компаунда на стекле? Цитата(ViKo @ Sep 25 2017, 21:22)  С какой частотой процессор загружает, это можно тоже на контрольную ножку сигнал вывести. Зачем?
|
|
|
|
|
Sep 25 2017, 18:13
|

Универсальный солдатик
     
Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362

|
Цитата(jcxz @ Sep 25 2017, 19:10)  Исходя из условия. А Вы знаете какой там контроллер? А если это капля компаунда на стекле? Пусть ТС доложит. Думается, все же нет. Цитата Зачем? Проверить в реальной работе.
|
|
|
|
|
Sep 26 2017, 08:50
|
Знающий
   
Группа: Свой
Сообщений: 779
Регистрация: 3-01-05
Из: Минск
Пользователь №: 1 783

|
Цитата(Myron @ Sep 25 2017, 17:03)  Ну и решение из прошлого века - почему нельзя просто измерить частоту кадровых/строчных импульсов? Несколько причин. 1. В дисплее не выведена сия ножка. Т.е. есть только интерфейс от проца к памяти. Между памятью и дисплеем влезть осциллографом низя  2. Заказчику хотелось бы показать нечто наглядное. 3. Хотелось бы показать не только то что дисплей может выводить статическую картинку с нужной частотой но и то что данные меняются с той же частотой.
|
|
|
|
|
Sep 26 2017, 09:19
|
Знающий
   
Группа: Свой
Сообщений: 779
Регистрация: 3-01-05
Из: Минск
Пользователь №: 1 783

|
Цитата(ViKo @ Sep 26 2017, 12:08)  В статусе контроллера дисплея есть флаги, я так думаю. Vertical non-Display period status. Увы нет такого флага. Частота обновления вычисляется как по некой формуле от штук 5 переменных которые пишутся в разные регистры. (чем то похоже на PLL). И что там получилось на выходе можно только гадать. То ли не ту циферку записал то ли ещё где ошибся. Но готового числа обратно он не отдаёт. Цитата(ViKo @ Sep 26 2017, 12:08)  Вообще-то, программист сам задает частоту работы контроллера жки. Зачем ее проверять? Раз влезть, есть очень надо, удостовериться, и шабаш. Так в этом и вопрос. Как проверить то что программист напрограммил? Как показать это заказчику?
|
|
|
|
|
Sep 26 2017, 12:11
|
Гуру
     
Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713

|
Цитата(ViKo @ Sep 26 2017, 01:13)  Проверить в реальной работе. Длительность операций CPU намного удобнее (и точнее) измерять по таймеру. Цитата(ViKo @ Sep 26 2017, 16:31)  Так просто - если изображение есть и не мерцает, значит герц 50 - 60 имеется. А больше и не надо. Я попробовал камерой мобильника глянуть, может, биения частот будут видны. Но нет, у меня не видно. И не будет видно даже если там не 50-60Гц. Если конечно у ТС не ЭЛТ-экран  Цитата(MegaVolt @ Sep 26 2017, 16:19)  Так в этом и вопрос. Как проверить то что программист напрограммил? Как показать это заказчику? Мой способ испытали?
|
|
|
|
|
Sep 27 2017, 00:45
|
Знающий
   
Группа: Свой
Сообщений: 735
Регистрация: 11-10-11
Пользователь №: 67 667

|
Цитата(MegaVolt @ Sep 25 2017, 16:09)  Примерно как умудряются отображать гамму дисплея рисуя чёрно белые полосочки. Вот может уже всё придумано до нас? мультиплексором. он и будет задавать развертку. а если увидеть в мониторе, то даже в DVI сигнале есть интервалы "гашения".... но хз. как эти интервалы выглядят на осциллографе, потому что цветопиксельные данные кодируются средневзвешенным кодом. Что касается программирования, в некоторых ОС, при некоторых драйверах возможен синхронный блит, или перключение фреймбуфера. Виндовз-ДХ это теоретически позволяет, фича есть в играх и видеоплеерах. Но на практике не всегда работает так как ожидается. Т.е. по сути мы включаем столбец на некоторое время и смотрим сколько строк успел отрисовать экран за кадр?не выйдет. афаик, буферы дисплеев как правило односторонние. да и на обычной PC борде в асинхронной ОС это невозможно. Но можно посчитать количество переключений буфера и поделить.
|
|
|
|
|
Sep 27 2017, 06:59
|
Гуру
     
Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713

|
Цитата(Hale @ Sep 27 2017, 07:45)  не выйдет. Почему? Цитата(Hale @ Sep 27 2017, 07:45)  Но можно посчитать количество переключений буфера и поделить. Каким образом посчитать? И с чего Вы вообще взяли что в контроллере автора есть какие-то "переключения буфера"?
|
|
|
|
|
Sep 27 2017, 14:37
|
Знающий
   
Группа: Свой
Сообщений: 779
Регистрация: 3-01-05
Из: Минск
Пользователь №: 1 783

|
Цитата(VCO @ Sep 27 2017, 08:39)  А тупой, но надёжный способ съёмки видеокамерой 1000 fps предлагался?   )))))))))))) ха ха ха  )) Отличный вариант  ) Цитата(jcxz @ Sep 27 2017, 09:59)  И с чего Вы вообще взяли что в контроллере автора есть какие-то "переключения буфера"? Буфер там один. Но судя по описанию двухпортовый. Один порт процу для записи. Второй порт контроллеру для обновления экрана.
|
|
|
|
|
Oct 3 2017, 01:12
|
Знающий
   
Группа: Свой
Сообщений: 735
Регистрация: 11-10-11
Пользователь №: 67 667

|
вам все вынь да в рот положи не выйдет. афаик, буферы дисплеев как правило односторонние. вы не сможете узнать тот момент когда дисплей нарисовал кончик линии, которую вы туда отправили. но зная устройство любого устройства, будь то адаптер, или контроллер матрицы, вы можете попробовать выловить технологические сигналы. но поскольку это непродуктивно - правильно самому задавать необходимую развертку. если вас терзает вопрос, а как у nVidia, то ответ простой - они достают развертку из собственной схемы кодера фреймбуфера, считая что монитор не слишком тупит на отрисовку. Возможно что-то они корректируют, общаясь с монитором по DDC... хотя сомневаюсь. правильные мониторы сертифицируют соотв. наклейкой.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|