Страницы

Поиск по вопросам

пятница, 12 июля 2019 г.

Полноэкранный режим. Мерцания.

Доброго вечера! Разрабатываю 2д игру на Delphi + OpenGl. Имеется карта размером, например, 40х40, а на мониторе выводится некоторая часть карты 20х20. Вывод карты делаю двумерным массивом, что собственно должно наоборот повысить фпс игры. Все отлично работает, но когда перехожу в полноэкранный режим при движении, на карте появляются некие "мерцания", как будто вывод у меня не успевает за движением. Но это лишь кажется на первый взгляд. Если поставить размер формы не в полноэкранный режим, а например так: Frmgl.Height:=Screen.Height; Frmgl.Width:=Screen.Width-1; то все работает безупречно! Вся проблема заключается в том, что я перевожу приложением в полноэкранный режим. Михаил Фленов писал на счет этого бага и выход из него он нашел, просто в создании формы пишем: WindowState := wsMaximized; Скидывал игру одному человеку и у него, как он мне говорил, ничего не мерцало, а у другого есть... Хотя сам тестировал на 3-х компьютерах с разной конфигурацией и ничего не изменилось, мерцания остаются, из-за чего - уже второй день понять не могу. Дабы вы поняли в чем дело я залил ссылку: http://narod.ru/disk/38902687001/0.0.1BA.zip.html P.S в файле Options в первой строке пишем: BorderStyle=BsSingle, если хотим не полноэкранный режим, а если же наоборот то BorderStyle=BsNone


Ответ

Вся проблема заключалась в неправильной двойной буферизации. Вроде все верно, но не работало... И работало без мерцания у людей с включенной двойной буферизацией в настройках видеокарты. Быть может кому-то в будущем поможет)

Комментариев нет:

Отправить комментарий