2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Быстрая отрисовка поверх окон.
Сообщение14.11.2013, 08:41 
Здравствуйте. Вопрос такой: нужно отрисовывать на экране, в Windows 7, поверх всех окон, квадрат небольшого размера, примерно 150 * 150 пикселей. Но не просто, а заливать попеременно двумя цветами в палитре RGB, например красным, а потом сине-зеленым, вот так (255,0,0) - красный, (0, 255, 255) сине-зеленый. Перерисовывать нужно так быстро, чтобы квадрат казался белым, а не мерцающим, т.е. глаз различил только сложение цветов. Частота экрана 60Гц. Такое мерцание нужно для работы некоторого сенсора, а вот глаз мерцание различать не должен. Возможно ли вообще такое? Будет ли вообще квадрат белым? Я пробовал на форме в Qt и получил тупо мерцающий прямоугольник. Посоветуйте что нибудь. Необходимо чтобы это все работало на скромных современных встроенных видеокартах.

 
 
 
 Re: Быстрая отрисовка поверх окон.
Сообщение14.11.2013, 10:23 
Аватара пользователя
1) Самый простой способ протестировать программно-аппаратные возможности — создать GIF-анимацию из красного и синезелёного цветов с задержкой 16 мс. Наверное, при просмотре в последних версиях браузеров аппаратное ускорение будет задействовано на полную катушку.
2) Тот же способ, только вместо GIF-анимации — видеофайл без сжатия. Тут уж почти наверняка будут задействованы все возможности видеокарты.

Если ни один из способов не привёл к желаемому результату — скорее всего, ничего не получится. Если привёл — можно попробовать компонент, воспроизводящий GIF-анимацию или видео на своей форме (QMovie или Phonon).

 
 
 
 Re: Быстрая отрисовка поверх окон.
Сообщение14.11.2013, 15:10 
Не забывайте про развёртку. Максимум, чего можно добиться - один кадр одного цвета, другой - другого. Частота получится равной половине частоты развёртки, которая обычно - 60 Гц. А мерцание в 30 Гц уже заметно.
Если захотите экспериментировать, то синхронизируйтесь с развёрткой.

 
 
 
 Re: Быстрая отрисовка поверх окон.
Сообщение14.11.2013, 16:00 
luckydevil в сообщении #788457 писал(а):
Будет ли вообще квадрат белым?
(При достаточной частоте) белым в смысле $(255,255,255)$ точно не будет, потому что яркости $(255,0,0)$ и $(0,255,255)$ по-отдельности меньше яркости $(255,255,255)$, будет серый или около того.

 
 
 
 Re: Быстрая отрисовка поверх окон.
Сообщение14.11.2013, 17:49 
Аватара пользователя
luckydevil
Время реакции мозга порядка 100-120 мс, но время реакции глаза меньше порядка 6-9 мс.
То что частота должна быть удвоенной это сказали.
Так что чтобы было не заметно надо 200Гц. Но думаю на 120 можно по экспериментировать, тем более найти такой монитор гораздо проще.

Что касается видео карты, то тут всё упирается в DAC который скорее всего не больше 400 МГц. Откуда для 120Гц имеем что разрешение выдаваемое на монитор должно быть порядка 1024х768 или меньше 800х600.

luckydevil в сообщении #788457 писал(а):
Я пробовал на форме в Qt

И с какой частотой она рисует? Попробуйте на OpenGL или DirectX.

 
 
 [ Сообщений: 5 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group