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

2052
paulohr

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

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

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

Screenshot 1

Screenshot 2

Я пытался использовать API « ChangeDisplaySettings », но он не работает, когда я пытаюсь перейти на 16 бит на пиксель.

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

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

5
Можете ли вы установить режим совместимости игры, скажем, в XP SP3? Kinnectus 8 лет назад 0
Звучит совершенно не связанным, но каким-то образом это исправило некоторые старые игры - попробуйте зайти в диспетчер задач и убить `explorer.exe`, прежде чем вернуться в игру. До того, как они выпустили AoE2-HD, мне пришлось настроить командный файл, чтобы убить explorer, прежде чем открывать оригинальную игру, а затем повторно запустить его после завершения игры. Понятия не имею почему. Jonno 8 лет назад 0
Примечание для близких избирателей: часть справочного центра о том, что видеоигры не по теме, относится к вопросам, связанным с геймплеем, а не с вопросами совместимости, подобными этим. Я голосую Оставь открытым. Ben N 8 лет назад 0
@ Джонно, я пытался убить explorer.exe, прежде чем вернуться в игру, но безуспешно. Та же проблема. paulohr 8 лет назад 0
Режим @BigChris Compatibility не работает. Та же проблема. paulohr 8 лет назад 0
начиная с Win8, DWM всегда включен и работает с глубиной цвета 32 бита. Это может вызвать такие странные проблемы. для старых игр настройте виртуальную машину и используйте более старую версию Windows (XP) без подключения к Интернету magicandre1981 8 лет назад 0
@paulohr можно спросить, что это за игра (из чистого интереса)? Michthan 8 лет назад 0
@Michthan Конечно. Игра GunBound. paulohr 8 лет назад 0

5 ответов на вопрос

2
Alex Che

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

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

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

Hummer от GunBound Thor использует 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. Игра запустится в окне.
Привет Алекс, да, я знаю о оконном режиме, но я действительно хочу решить эту проблему в полноэкранном режиме. Спасибо paulohr 8 лет назад 0
Полноэкранное окно тогда может быть? ) Alex Che 8 лет назад 0
2
magicandre1981

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

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

Привет @ magicandre1981, к сожалению установка виртуальной машины не вариант. Так нет решения? Не возможно отключить DWM с программным обеспечением режима ядра (драйвер)? paulohr 8 лет назад 0
0
potatoman

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

Привет @Telolguy, также не работает. paulohr 8 лет назад 0
0
harrymc

Вещи, чтобы попробовать:

  1. В теге «Совместимость» в свойствах игры, помимо настройки режима XP, установите также «Режим уменьшенного цвета» на 16-разрядный. Вы также можете попробовать «Запустить с разрешением экрана 640 x 480» и «Отключить масштабирование экрана при настройках с высоким разрешением».

  2. Щелкните правой кнопкой мыши исполняемый файл программы, обычно EXE-файл, и выберите «Устранение неполадок совместимости». Нажмите «Попробовать рекомендуемые настройки» и «Протестировать программу…». Если программа теперь работает, нажмите «Да, сохранить эти настройки для этой программы». В противном случае нажмите «Нет, попробуйте еще раз, используя другие настройки», и отвечайте на вопросы, пока не найдете то, что работает, или не откажетесь от этого.

  3. Если ваша видеокарта Nvidia, перейдите в Панель управления Nvidia -> Дисплей -> Настроить размер и положение рабочего стола -> Масштабирование, нажмите «Полный экран» и «Применить».

0
Brian Nixon

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