Ошибка при минимизации 16-битных цветных игр в Windows 8 и более поздних версиях

Ошибка при минимизации 16-битных цветных игр в Windows 8 и более поздних версиях

Я играю в старую MMO-игру, которая сделана с использованием 16-битного цвета. Игра отлично работает на Windows 7 и старых версиях (Vista, XP).

Однако в игре есть некоторые ошибки на Windows 8 и более поздних версиях.

Я могу запустить игру и нормально играть в полноэкранном режиме, но когда я сворачиваю игру (alt tab), а затем снова разворачиваю, графика игры становится фиолетовой и сжимается до половины экрана.

Скриншот 1

Скриншот 2

Я пытался использовать "ИзменитьНастройкиЭкрана" API, но он не работает, когда я пытаюсь изменить его на 16 бит на пиксель.

Еще одна странность в том, что игра работает как по маслу при запуске. Баг происходит только тогда, когда я сворачиваю и снова разворачиваю.

Есть ли у кого-нибудь решение, как это исправить?

решение1

Существуют приложения, которые позволяют запускать такие полноэкранные игры DirectX в окне. Это может замедлить работу игры, но позволит переключаться между игрой и другими приложениями без графических проблем, которые вы описываете.

Одним из таких приложений являетсяDxWnd.

Ниже я опишу, как настроить GunBound Thor's Hummer (думаю, ваши скриншоты из этой игры).

GunBound Thor's Hummer использует Launcher.exe для запуска файла GunGame.gme (эти файлы находятся в папке установки GunBound Thor's Hammer). Мне не удалось настроить DxWnd для обработки gme-файла напрямую, поэтому необходимо выполнить некоторые дополнительные шаги.

  1. Скопируйте GunGame.gme в GunGame.exe.
  2. Замените GunGame.gme на GunGame.exe в файле Launcher.exe с помощью какого-нибудь шестнадцатеричного редактора (Notepad++ тоже подойдет, а стандартный блокнот Windows повредит исполняемый файл). Возможно, вам захочется сделать резервную копию Launcher.exe перед его патчем.
  3. Запустите DxWnd от имени администратора.
  4. В DxWnd выберите Правка > Добавить и введите следующие значения в открывшемся диалоговом окне:

    • Имя: все, что пожелаете
    • Путь: C:\Program Files (x86)\GunBound Thor's Hammer (nos)\GunGame.exe (замените на ваш реальный путь).
    • Запустите: C:\Program Files (x86)\GunBound Thor's Hammer (nos)\Launcher.exe (замените на ваш реальный путь к пропатченному лаунчеру).
    • Все остальные параметры оставлены со значениями по умолчанию.
  5. Нажмите ОК.

  6. Запустите созданный элемент в окне DxWnd. Игра будет запущена в окне.

решение2

Начиная с Windows 8,Диспетчер окон рабочего стола (DWM) всегда включени все время запускает Windows в 32-битной глубине цвета. Это может вызывать такие странные проблемы.

Если применение режима совместимости с XP (который активирует прокладку, позволяющую играм думать, что они работают с глубиной цвета 16 бит, в то время как Windows по-прежнему использует 32 бита) не работает, настройте виртуальную машину и используйте старую версию Windows, например Windows XP (но без подключения к Интернету), чтобы запускать такие действительно старые игры.

решение3

Попробуйте запустить программу в режиме совместимости, щелкнув правой кнопкой мыши (один из разделов; сейчас я использую Linux) и выбрав режим совместимости с 16 битами или что-то подобное. Также выберите запуск с использованием Windows XP или любой другой ОС, кроме Win 8.

решение4

ЗагрузитьКомплект для оценки и развертывания Windowsи установитеНабор инструментов для обеспечения совместимости приложений. Затем попробуйте включить один или несколькоИсправления совместимостидля вашей игры. Доступно несколько исправлений («прокладок»), названия которых намекают на решение проблем, связанных с совместимостью с 16-битным цветом, но этот процесс может потребовать некоторых проб и ошибок, поскольку нет или почти нет объяснений того, что именно делают большинство исправлений, как они работают или будут ли они вообще иметь какой-либо эффект в используемой вами конфигурации.

Связанный контент