Показать сообщение отдельно
  #1  
Старый 22.12.2010, 17:13
Аватар для Bargest
Bargest Bargest вне форума
Профессионал
 
Регистрация: 19.10.2010
Адрес: Москва
Сообщения: 2,390
Версия Delphi: XE3/VS12/FASM
Репутация: 14665
По умолчанию OpenGL или чего ещё

Мне нужно сделать прогу, которая выводит изображение с задержкой. Изображение берётся из одного окна (оконная игра), выводится на другой.
Сделал так: закольцованная очередь на 50 изображений, 2 индекса (вход и выход). Копирую через BitBLT с DC окна игры в буфер на вход, а из выхода с задержкой на свой Canvas. Появились проблемы:
1) BitBLT срабатывает не больше 15 раз в секунду (работает слишком медленно при запущенной игре).
2) Изображение с окна игры почему-то одинаковое в любой момент времени и равно изображению, которое там было при запуске программы. Поэтому пока что копирую с DC экрана с определенных координат, так все ок.
3) Комп начинает зверски тормозить, и игра тоже начинает работать фигово.

И наконец вопросы:
1) Как ускорить? Может в OpenGL есть функции для копирования изображения? В статьях в начале раздела нашел только для рисования...
2) Почему изображение всегда одинаковое при копировании с DC окна, но меняетя при копировании экрана?
__________________
jmp $ ; Happy End!
The Cake Is A Lie.
Ответить с цитированием