У меня есть устаревшая игра, в которой используется DirectDraw2, который рисует в два буфера: лицевую и тыльную, где лицевая сторона — это основная поверхность (на экране), а задняя часть — внеэкранный буфер.
Теперь в основном цикле он красиво блокирует передний буфер, делает его отрисовку назад и вперед, а затем снова разблокирует.
Тем не менее, в той же игре код главного меню просто держит передний буфер заблокированным все время.
После этих двух, казалось бы, противоречивых наблюдений у меня есть пара вопросов о блокировке и разблокировке, на которые не отвечают ни MSDN, ни Google.
Я думал, что это будет работать как Direct3D, где вы блокируете буфер вершин, но нужно разблокировать его, прежде чем графический процессор сможет работать с ним.
Задача ещё не решена.
Других решений пока нет …