Нашел способ как сгладить картинку в Splinter Cell Double Agent для Xbox Original (той самой лучшей версии Двойного Агента), и как бонус - получить 120fps

Кратко: Используем ShaderGlass с шейдером сглаживания "ScaleFX+rAA+AA", и Lossless Scaling фреймген.
Могу запилить инструкцию, если интересно. (обновлено: дополнил инструкцию внизу)
ᅠ ᅠ
В игре только 640x480 – пиксели ранее очень бросались в глаза. Поэтому сравнения до/после смотрите на ПК на весь экран. С телефона не видно будет.
ᅠ ᅠ
Решенные проблемы: ...

  • Первая проблема была в том, что с настолько громадными пикселями и лесенками не справлялись традиционные методы сглаживания (fxaa, smaa, даже xbr). Все способы вызывали мыло. А задача была снизить пиксельность и сгладить пилы-лесенки, но при этом сохранить чёткость объектов, граней и контуров.
  • Вторая проблема была в том, что эмуль Xemu при реальных 30fps игры все равно выводит их в 60гц, то есть 1 реальный кадр игры отображается дважды подряд. Из-за чего картинка двоилась и смазывалась. И к ней тким образом даже нельзя было нормально применить Lossless Scaling фреймген.

Это всё удалось решить.

Обновлено:

Вот что и как нужно настроить:

  • Скачиваем спец. билд Xemu с исправлением зелёного засвета по краю экрана в SC Double Agent: с Яндекс Диск или Mega (файл qemu-system-i386w.exe);
  • Уменьшаем окошко эмуля до минимального размера 640x480 чтобы пиксели были 1:1 с экранными. Если у вас в винде включено масштабирование, то в свойствах exe-файла эмуля отключить dpi scaling винды. Это нужно чтобы была максимально чёткая картинка перед апскейлом и сглаживанием;
  • В настройках эмуля включаем VSync для наиболее равномерного времени кадра (пригодится дальше для фреймгена до 120 кадров), и фоновый ввод с геймпада (чтобы даже когда мы переключаем окна всё равно можно было управлять игрой);
  • C помощью ShaderGlass копируем вывод окна эмуля:
    “Input > Window > Xemu”
    “Processing > Advanced > Allow tearing”
    “Processing > FPS > 100% (Vsync)”
    "Input > Pixel size > 1x"
  • И применяем к нему шейдер на выбор "ScaleFX+rAA+AA" или "ScaleFX+rAA+AA-fast" (с этой игрой второй даже лучше обрабатывает интерфейс) – эти два шейдера выглядят лучше в VR гарнитуре, и отлично дружат с фреймгеном 120fps.
    Или как вариант используйте шейдер “CRT-Royale-Smooth” – у него тоже есть особый шарм, и он особо хорошо выглядит на обычных мониторах (в идеале 4K), но он не очень дружит с фреймгеном.
    Как применить шейдер:
    “Shader > Choose from Library > …”
    ...и найдите в папке и выберите “RetroArch Library > presets > scalefx-plus-smoothing > "ScaleFX+rAA+AA-fast"
    ИЛИ
    ...и найдите в папке и выберите “RetroArch Library > presets > “CRT-Royale-Smooth”
    Этот шейдер и есть то, что сгладит пиксели и лесенки, но оставит четкость;
  • Не забудьте сохранить собранный пресет настроек в ShaderGlass:
    “Processing > Save profile as…”
    “Processing > Set as default”
    Тогда он будет автоматически настроен и применён при следующем запуске программы.
  • К окну ShaderGlass (не к самому эмулю, а именно к ShaderGlass) также применяем ограничение до 30fps через RivaTuner – для того чтобы убрать дублирование кадров от эмулятора Xemu;
  • Открываем ShaderGlass на весь экран, и включаем адаптивный LSFG с нужной целевой частотой кадров, например у меня это 120fps;

В следующий раз когда будем играть:
1. Запускаем эмуль;
2. Открываем ShaderGlass и разворачиваем на весь экран;
3. Включаем LSFG фреймген, и наслаждаемся гладкой и плавной игрой!
ᅠ ᅠ

Смотрите также:

(будет интересно владельцам гарнитур виртуальной реальности)

4
26 комментариев