2014 dxdy logo

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

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




Начать новую тему Ответить на тему
 
 Быстрая отрисовка поверх окон.
Сообщение14.11.2013, 08:41 


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

 Профиль  
                  
 
 Re: Быстрая отрисовка поверх окон.
Сообщение14.11.2013, 10:23 
Заслуженный участник
Аватара пользователя


01/08/06
3131
Уфа
1) Самый простой способ протестировать программно-аппаратные возможности — создать GIF-анимацию из красного и синезелёного цветов с задержкой 16 мс. Наверное, при просмотре в последних версиях браузеров аппаратное ускорение будет задействовано на полную катушку.
2) Тот же способ, только вместо GIF-анимации — видеофайл без сжатия. Тут уж почти наверняка будут задействованы все возможности видеокарты.

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

 Профиль  
                  
 
 Re: Быстрая отрисовка поверх окон.
Сообщение14.11.2013, 15:10 
Заслуженный участник


04/05/09
4587
Не забывайте про развёртку. Максимум, чего можно добиться - один кадр одного цвета, другой - другого. Частота получится равной половине частоты развёртки, которая обычно - 60 Гц. А мерцание в 30 Гц уже заметно.
Если захотите экспериментировать, то синхронизируйтесь с развёрткой.

 Профиль  
                  
 
 Re: Быстрая отрисовка поверх окон.
Сообщение14.11.2013, 16:00 
Заслуженный участник


27/04/09
28128
luckydevil в сообщении #788457 писал(а):
Будет ли вообще квадрат белым?
(При достаточной частоте) белым в смысле $(255,255,255)$ точно не будет, потому что яркости $(255,0,0)$ и $(0,255,255)$ по-отдельности меньше яркости $(255,255,255)$, будет серый или около того.

 Профиль  
                  
 
 Re: Быстрая отрисовка поверх окон.
Сообщение14.11.2013, 17:49 
Аватара пользователя


31/10/08
1244
luckydevil
Время реакции мозга порядка 100-120 мс, но время реакции глаза меньше порядка 6-9 мс.
То что частота должна быть удвоенной это сказали.
Так что чтобы было не заметно надо 200Гц. Но думаю на 120 можно по экспериментировать, тем более найти такой монитор гораздо проще.

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

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

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

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 5 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group