Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

DirectX: "GetFrontBuffer ..... This function is very slow ..." [D5, Win2k]


savva ©   (2005-03-22 18:27:00) 

Привет всем.

Задача: снимать экран чаще чем 2 раза в секунду (как в случае с BitBlt).. Использовал GetFrontBuffer, но выигрыша нет, за исключением, что теперь графический интерфейс не "замирает" при "фотографировании".

Написано, что она "very slow" и в критических по производительности приложениях использовать не советуется.

Но: я уже третий день ищу обходной путь, но ни малейшей зацепки не увидел. Может ослеп?

ЗЫ. Причем эта медленность заложены "by design":)


Asteroid   (2005-03-22 20:09:00) [1]

В той же справке по DX написано, что для прямого доступа к пикселям лучше использовать BackBuffer. Так что - Lock, копируем, Unlock :)
А если хочется совсем поизвращаться - создаем дополнительную поверхность, на нее CopyRects с BackBuffer, а затем уже лочим саму дополнительную поверхность (чтобы не прерывать рендер).


Наверх

Титульная страница Поиск, карта сайта Написать письмо