Ошибка при сворачивании 16-битных цветных игр в Windows 8 или новее
Я играю в старую MMO игру, которая сделана с использованием 16-битного цвета. Игра отлично работает на Windows 7 и старых версиях (Vista, XP).
Тем не менее, в игре есть некоторые ошибки в Windows 8 и более поздних версиях.
Я могу запустить игру и нормально играть в полноэкранном режиме, но когда я сворачиваю игру (снова вкладку alt), а затем снова максимизирую, игровая графика становится пурпурной и сокращается до половины экрана.
Я пытался использовать API "ChangeDisplaySettings", но он не работает, когда я пытаюсь перейти на 16 бит на пиксель.
Еще одно странное замечание: при запуске игра работает как шарм. Ошибка возникает только тогда, когда я минимизирую, а затем снова максимизирую.
У кого-нибудь есть решение, чтобы это исправить?
6 ответов
Существуют приложения, которые позволяют запускать такие полноэкранные игры DirectX в окне. Это может замедлить работу игры, но позволит переключаться между игрой и другими приложениями без описанных вами проблем с графикой.
Одним из таких приложений является DxWnd.
Ниже я опишу, как настроить GunBound Thor's Hummer (я думаю, что ваши скриншоты из этой игры).
Hummer из GunBound Thor использует Launcher.exe для запуска файла GunGame.gme (эти файлы находятся в папке установки GunBound Thor's Hammer). Мне не удалось настроить DxWnd для непосредственной обработки gme-файла, поэтому необходимо выполнить некоторые дополнительные действия.
- Скопируйте GunGame.gme в GunGame.exe.
- Замените GunGame.gme на GunGame.exe в файле Launcher.exe с помощью какого-либо шестнадцатеричного редактора (Notepad++ также будет работать, в то время как стандартный блокнот Windows испортит исполняемый файл). Вы можете сделать резервную копию Launcher.exe перед исправлением его.
- Запустите DxWnd от имени администратора.
В DxWnd выберите "Правка"> "Добавить" и введите следующие значения в открывшемся диалоговом окне:
- Имя: все, что вы хотите
- Путь: C:\Program Files (x86)\GunBound Thor's Hammer (nos)\GunGame.exe (замените свой фактический путь).
- Запустите: C:\Program Files (x86)\GunBound Thor's Hammer (nos)\Launcher.exe (замените ваш фактический путь к исправленной программе запуска).
- Все остальные параметры остались со своими значениями по умолчанию.
Нажмите ОК
- Запустите созданный элемент в окне DxWnd. Игра будет запускаться в окне.
Начиная с Windows 8, диспетчер окон рабочего стола (DWM) всегда включен и постоянно работает под управлением Windows с глубиной цвета 32 бита. Это может вызвать такие странные проблемы.
Если режим совместимости с XP (активирующий шим, позволяющий играм думать, что они работают с глубиной цвета 16 бит, а Windows по-прежнему использует 32 бит) не работает, настройте виртуальную машину и используйте более старую версию Windows, например Windows XP (но без подключения к Интернету), чтобы запустить такие действительно старые игры.
Попробуйте запустить программу в режиме совместимости, щелкнув правой кнопкой мыши (один из разделов; сейчас я использую Linux) и выбрав 16-разрядный режим совместимости или аналогичный. Также выберите запуск с использованием Windows XP или любой другой ОС, кроме Win 8.
Вещи, чтобы попробовать:
В теге "Совместимость" в свойствах игры, помимо настройки режима XP, установите также "Режим уменьшенного цвета" на 16-разрядный. Вы также можете попробовать "Запустить с разрешением экрана 640 x 480" и "Отключить масштабирование экрана при настройках с высоким разрешением".
Щелкните правой кнопкой мыши исполняемый файл программы, обычно EXE-файл, и выберите "Устранение неполадок совместимости". Нажмите "Попробовать рекомендуемые настройки" и "Протестировать программу…". Если программа теперь работает, нажмите "Да, сохранить эти настройки для этой программы". В противном случае нажмите "Нет, попробуйте еще раз, используя другие настройки", и отвечайте на вопросы, пока не найдете то, что работает, или не откажетесь от этого.
Если ваша видеокарта Nvidia, перейдите в Панель управления Nvidia -> Дисплей -> Настроить размер и положение рабочего стола -> Масштабирование, нажмите "Полный экран" и "Применить".
Загрузите комплект для оценки и развертывания Windows и установите набор средств для обеспечения совместимости приложений. Затем попробуйте включить одно или несколько исправлений совместимости для своей игры. Доступно несколько исправлений ("прокладок"), имена которых намекают на решение проблем, связанных с 16-битной совместимостью цветов, но этот процесс может потребовать некоторых проб и ошибок, поскольку нет точных объяснений относительно того, что делает большинство исправлений, как они работают или могут ли они вообще повлиять на используемую вами конфигурацию.
Я столкнулся с той же ошибкой в «Локомоции» Криса Сойера, и это странное решение помогло: после сворачивания игры я просто открыл «Панель управления» -> «Дисплей» -> вкладку «Разрешение» и вернулся обратно в игру... все цвета были нормальными.