реклама на сайте
подробности

 
 
> Как увидеть FPS?, Как визуально без измериловки увидеть FPS больше 30Гц?
MegaVolt
сообщение Sep 25 2017, 12:09
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 779
Регистрация: 3-01-05
Из: Минск
Пользователь №: 1 783



Есть некий контроллер дисплея. Есть проц который пишет картинку в память контроллера. Контроллер отображает с какой то своей частотой.

Собственно есть несколько вариантов
1. Проц пишет со своей скорость, контроллер отображает со своей.
2. Проц знает частоту обновления и обновляет данные синхронно с отрисовкой

Собственно подскажите есть ли какие то типовые паттерны для обоих случаев которые стоит писать в память чтобы наглядно убедиться в наличии заданных FPS. А в идеале чтобы можно было их измерить например +/-5 FPS пойдёт.

Примерно как умудряются отображать гамму дисплея рисуя чёрно белые полосочки.
Вот может уже всё придумано до нас?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
jcxz
сообщение Sep 25 2017, 12:56
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 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: Да - и при чём тут "Аналоговая техника"??? Вроде есть спец. ветка по устройствам отображения.
Go to the top of the page
 
+Quote Post
MegaVolt
сообщение Sep 25 2017, 13:15
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 779
Регистрация: 3-01-05
Из: Минск
Пользователь №: 1 783



Цитата(jcxz @ Sep 25 2017, 15:56) *
Вам надо померить FPS без дополнительных датчиков (фотодиодов)?
Ага именно так. И желательно без пересчёта тоже sm.gif))
Цитата
Например так: Меряем линейкой высоту столбца на экране и из неё, зная скорость отрисовки CPU, получаем частоту развёртки.
Т.е. по сути мы включаем столбец на некоторое время и смотрим сколько строк успел отрисовать экран за кадр? Хитро...
Цитата
PS: Да - и при чём тут "Аналоговая техника"??? Вроде есть спец. ветка по устройствам отображения.
Упс... не нашёл подходящий раздел sad.gif. Модераторы перенесите тему плииз в нужный раздел.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Sep 25 2017, 13:54
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(MegaVolt @ Sep 25 2017, 20:15) *
Т.е. по сути мы включаем столбец на некоторое время и смотрим сколько строк успел отрисовать экран за кадр? Хитро...

Да. Основная идея: измерение разницы частот кадровой развёртки и рисования CPU. Поэтому скорость рисования CPU должна быть фиксированной. Далее время рисования измеряем таймером и вычисляем частоту развёртки. Можно придумать разные вариации этого метода.
Go to the top of the page
 
+Quote Post
Myron
сообщение Sep 25 2017, 14:03
Сообщение #5


Профессионал
*****

Группа: Свой
Сообщений: 1 849
Регистрация: 6-02-05
Пользователь №: 2 451



Цитата(jcxz @ Sep 25 2017, 07:54) *
Да. Основная идея: измерение разницы частот кадровой развёртки и рисования CPU. Поэтому скорость рисования CPU должна быть фиксированной. Далее время рисования измеряем таймером и вычисляем частоту развёртки. Можно придумать разные вариации этого метода.
А в качестве таймера используйте песочные часы. Меняя количество песка в них можно синхронизировать частоту кадров/развертки с часами. Остается только создать механизм переворачивания песочных часов по кадровому импульсу.
Ну и решение из прошлого века - почему нельзя просто измерить частоту кадровых/строчных импульсов?
Go to the top of the page
 
+Quote Post
jcxz
сообщение Sep 25 2017, 16:10
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(Myron @ Sep 25 2017, 21:03) *
Ну и решение из прошлого века - почему нельзя просто измерить частоту кадровых/строчных импульсов?

Исходя из условия. А Вы знаете какой там контроллер? А если это капля компаунда на стекле?

Цитата(ViKo @ Sep 25 2017, 21:22) *
С какой частотой процессор загружает, это можно тоже на контрольную ножку сигнал вывести.

Зачем?
Go to the top of the page
 
+Quote Post
Myron
сообщение Sep 25 2017, 17:59
Сообщение #7


Профессионал
*****

Группа: Свой
Сообщений: 1 849
Регистрация: 6-02-05
Пользователь №: 2 451



Цитата(jcxz @ Sep 25 2017, 10:10) *
Исходя из условия. А Вы знаете какой там контроллер? А если это капля компаунда на стекле?
А если устройство зарыто на Луне?

Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- MegaVolt   Как увидеть FPS?   Sep 25 2017, 12:09
||- - ViKo   Цитата(jcxz @ Sep 25 2017, 19:10) Исходя ...   Sep 25 2017, 18:13
||- - Myron   Цитата(ViKo @ Sep 25 2017, 12:13) Пусть Т...   Sep 25 2017, 19:10
||- - jcxz   Цитата(ViKo @ Sep 26 2017, 01:13) Провери...   Sep 26 2017, 12:11
||- - ViKo   Цитата(jcxz @ Sep 26 2017, 15:11) И не бу...   Sep 26 2017, 12:19
|||- - jcxz   Цитата(ViKo @ Sep 26 2017, 19:19) Будет. ...   Sep 26 2017, 15:07
|||- - ViKo   Цитата(jcxz @ Sep 26 2017, 18:07) Это нич...   Sep 26 2017, 19:20
||- - MegaVolt   Цитата(jcxz @ Sep 26 2017, 15:11) Мой спо...   Sep 26 2017, 13:16
|- - MegaVolt   Цитата(Myron @ Sep 25 2017, 17:03) Ну и р...   Sep 26 2017, 08:50
|- - ViKo   Цитата(MegaVolt @ Sep 26 2017, 11:50) Нес...   Sep 26 2017, 09:08
|- - MegaVolt   Цитата(ViKo @ Sep 26 2017, 12:08) В стату...   Sep 26 2017, 09:19
- - ViKo   С какой частотой выдает картинку контроллер, знает...   Sep 25 2017, 14:22
- - ViKo   Так просто - если изображение есть и не мерцает, з...   Sep 26 2017, 09:31
- - Hale   Цитата(MegaVolt @ Sep 25 2017, 16:09) При...   Sep 27 2017, 00:45
|- - jcxz   Цитата(Hale @ Sep 27 2017, 07:45) не выйд...   Sep 27 2017, 06:59
|- - Hale   Цитата(jcxz @ Sep 27 2017, 10:59) Почему?...   Sep 29 2017, 02:57
|- - jcxz   Цитата(Hale @ Sep 29 2017, 09:57) рекурси...   Sep 29 2017, 05:41
- - VCO   А тупой, но надёжный способ съёмки видеокамерой 10...   Sep 27 2017, 05:39
|- - MegaVolt   Цитата(VCO @ Sep 27 2017, 08:39) А тупой,...   Sep 27 2017, 14:37
|- - ViKo   Цитата(MegaVolt @ Sep 27 2017, 17:37) )))...   Sep 27 2017, 19:21
|- - MegaVolt   Цитата(ViKo @ Sep 27 2017, 22:21) Некотор...   Sep 28 2017, 07:36
- - ViKo   https://www.youtube.com/watch?v=k3MbV3SQrY4   Sep 28 2017, 08:05
- - Hale   вам все вынь да в рот положи не выйдет. афаик, буф...   Oct 3 2017, 01:12


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 24th June 2025 - 09:40
Рейтинг@Mail.ru


Страница сгенерированна за 0.03197 секунд с 7
ELECTRONIX ©2004-2016