
****************************************************

Содержание:

1) Базовая информация

2) Системные требования

3) Настройка плагина

4) Советы

5) Известные проблемы

6) Лицензия

7) Контакты

****************************************************

1) Базовая информация

Blade_Arma_GPU_Plugin – видео плагин, часть проекта rbpse, портирован на 
систему PSEmuPro. (эмуляторы ePSXe, SSSPSX, PSXeven, PCSX, AdriPSX и другие.)

Введение:

Мне нравится PlayStation, игры на ней и вообще всё что с ней связано, видимо с 
детства остались хорошие воспоминания. Меня не устраивала точность эмуляции, да 
и вообще хотелось сделать что-то самому. Целью является создание плагина 
максимально точно эмулирующего psx gpu, а так же параллельное использование 
всех методов улучшения качества изображения. Думаю из цели видно, но напишу 
прямо, мне абсолютно безразлично сколько ресурсов понадобится для эмуляции и то 
что плагин уже достаточно медленен на данный момент.

Инсталляция:

Распаковываем архив gpuBladeSoft.tar.lzma/gpuBladeSoft.7z в каталог с 
эмулятором.

Загружаем GTK+ runtime для работы гуи:
Windows: http://sourceforge.net/projects/gtk-win/
Linux: из репозитория вашего дистрибутива.

Устанавливаем,
перезагружаемся.

Выбираем плагин в эмуляторе.

Если есть желание установить всё ручками, то надо знать следующее:
GPU плагин «gpuBladeSoft.so»/«gpuBladeSoft.dll» должен находится в каталоге с 
плагинами («./plugins»). GUI для настройки плагина 
«gpuBladeSoftGui»/«gpuBladeSoftGui.exe» и файл настройки «gpuBladeSoft.ini» 
должны находится в каталоге с настройками («./configs»). Для снятия скриншотов 
и записи видео должны быть созданы каталоги «./captured/screenshots» и 
«./captured/videos» соответственно.

****************************************************

2) Системные требования

Программные:

– ОС Linux, ядро 2.6 или выше / ОС Windows 2000 или выше.
– GTK+ 2.16 или выше для диалога настройки.

Аппаратные:

– OpenGL-совместимая видео карта.

****************************************************

3) Настройка плагина

ЗАКЛАДКА «SETTINGS»

ЗАКЛАДКА «MAIN»

Display settings:

«Fullscreen»
Запуск эмулятора в полноэкранном режиме.
"Standard mode" — обычный режим, выбор нужного разрешения, глубины цвета и 
частоты обновления дисплея.
"Desktop settings" — используются параметры рабочего стола, пропорции дисплея 
устанавливаются автоматически.
"Native resolutions" — используются "родные" разрешения устанавливаемые psx, 
имеет смысл только для карт поддерживающих очень большой диапазон разрешений 
(ArcadeVGA). При изменении разрешения приложением на psx произойдёт реальная 
смена разрешения дисплея.

«Windowed»
Запуск эмулятора в оконном режиме.
(Поля справа позволяют указать желаемые размеры окна, от 1x1 до 4096x4096.)

«Wait for VSync»
Включить режим синхронизации переключения буферов с вертикальной синхронизацией 
монитора, это поможет уменьшить эффект "рваного" изображения. Один из важнейших 
на мой взгляд параметров. Обновление экрана без учёта вертикальной 
синхронизации приводит к рваному/дёрганному изображению на дисплее, в следствие 
чего ощущения от игры на эмуляторе/мониторе намного хуже чем при игре на 
консоли/телевизоре. Лимитирование fps при включении этого режима следует 
установить в "Disabled".
Для владельцев ЖК мониторов: ЖК мониторы имеют достаточно низкие частоты 
обновления и значительное время отклика, что позволяет просто выбирать любое 
разрешение поддерживающее 50/60 герц для PAL/NTSC соответственно, режим vsync 
нужно установить в "1 / 1".
Для владельцев ЭЛТ мониторов: Частоты 50/60 герц неприемлемы для просмотра на 
ЭЛТ мониторах из-за неприятного мерцания, поэтому следует выбирать разрешения 
поддерживающие частоты кратные 50/60 герцам, например 100/120 герц, режим vsync 
в таком случае нужно установить в "1 / 2".

Framerate:

«FPS limitation»
Ограничение количества кадров в секунду.
"Disabled" — без ограничений.
"Auto-detection" — устанавливает стандартные значения: 59.94 кадра в секунду 
для NTSC или 50 кадров для PAL игр.
"Manual" — ручной режим, позволяет установить произвольную частоту кадров.

«FPS value»
Число fps используемое режимом ограничения Manual.
(Может принимать значения в пределах: 0.10 - 9999.99.)

Processing:

«Internal resolution»
Позволяет улучшить качество картинки в 3д-играх за счёт увеличения внутреннего 
разрешения, ресурсоёмкость при этом возрастает в разы.
Большинство игр имеет разрешение 320x240, выставив внутреннее разрешение в 2x2 
мы получаем 640x480, что естественно уменьшает "пикселизацию" и "лестничный 
эффект".
(Может принимать значения в пределах: 1 - 6.)

«Use 32-bit renderer»
Использовать 32-х битный рендерер, приближает качество картинки к аппаратно 
ускоренным плагинам за счёт плавной закраски полигонов, устраняет цветовой 
"лестничный эффект".
"Disabled" — выключено.
"Primitives with dithering" — включено только для примитивов с включенным 
режимом дизеринга.
"Gouraud shaded primitives" — включено для всех примитивов закрашенных по Гуро.
"All primitives" — включено для всех примитивов.

«Texture bilinear filtering»
Задействовать использование дробной части текстурных координат в виде весового 
коэффициента для смешивания соседних цветов текстуры, получаются плавные 
переходы из одного цвета в другой. Повышение качества достаточно сильное, 
особенно для полигонов, чьи размеры много превышают разрешение текстуры или при 
использовании повышенного внуреннего разрешения. Разделение на режимы сделано 
по причине невозможности идеального варианта. Игры используют одновременно и 
спрайты и полигоны, что приводит к артефактам в виде швов на текстурируемых 
объектах, да и личные предпочтения здесь играют немалую роль.
"Disabled" — выключено.
"Polygons" — включено только для полигонов.
"Sprites" — включено только для спрайтов.
"Polygons and sprites" — включено и для полигонов и для спрайтов.

«Disable 'dfe' emulation»
Выключить эмуляцию чересстрочной развёртки. Чересстрочная развёртка — метод 
отображения, при котором каждый кадр разбивается на два полукадра (или поля), 
составленные из строк, выбранных через одну. Поочерёдная отрисовка чётных и 
нечётных строк приводит к ухудшение качества картинки, но повышает скорость 
эмуляции, так как требование к филлрейту уменьшается в два раза. Данная опция 
выключает такой режим отрисовки и вывода, что позволяет добиться высокого 
качества картинки и соответственно замедляет скорость эмуляции, так как 
требование к филлрейту возрастает вдвое.

Postprocessing:

«Deinterlacing method»
Метод деинтерлейсинга, имеет смысл только при отключенном режиме «Disable 'dfe' 
emulation».
"Line doubling" — отрисовывать каждую линию дважды, вызывает некоторое дрожание 
картинки, наилучший режим для динамических игр и наиболее близко к картинке на 
ТВ.
"Field combination" — смешивать текущий и предыдущий кадр, вызывает эффект 
"гребёнки", наилучший режим для статичных игр.

«Filtering»
Фреймбуфер фильтруется весь целиком. Фильтр можно выбирать по вкусу, не забывая 
что некоторые из них очень ресурсоёмки. 2D игры обычно лучше выглядят с 
SuperSai2x/SuperEagle, а Hq2x/Hq3x больше подходит для 3D игр.

«Shader effect»
Применить шейдер при выводе конечного изображения, используются glsl шейдеры 
написанные к плагину gpuPeteOGL2 от Pete Bernert. Шейдеров много, есть 
полезные, есть не очень, выбирайте сами, ну во всяком случае они позволяют 
неплохо улучшить картинку без дополнительной нагрузки на цпу, что очень хорошо 
так как плагин использует программный рендерер. Шейдеры должны находиться в 
каталоге «./shaders» в корневом каталоге эмулятора, каждый в своём подкаталоге.

«Shader level»
(Может принимать значения: 1(Minimum), 2(More), 3(Medium), 4(Maximum).)

«Bilinear filtering»
Уменьшает пикселизацию картинки. Используется аппаратное ускорение, на скорость 
эмуляции влияет незначительно.

«Brightness»
Уровень яркости выводимого изображения.
(Может принимать значения в пределах: 0 - 100.)

«Gamma»
Уровень гаммы выводимого изображения.
(Может принимать значения в пределах: 0 - 100.)

«Aspect ratio correction»
Использовать указанные пропорции выводимого изображения, выберите в 
соответствии с пропорциями вашего дисплея.
(None, 1/1, 5/4, 4/3, 3/2, 8/5, 5/3, 16/9, 17/9.)

ЗАКЛАДКА «VISIBLE AREA»

Параметры отображаемой области. Желательно просто ничего не трогать и смириться 
с тем что зачастую картинка консоли на телевизоре имеет чёрные полосы/сдвинута 
в достаточно большом количестве игр.

Prefences:

«Prefences»
"Perfect" — лучший вариант вывода. Картинка занимает всё окно, минимум чёрных 
бордюров. Режим не позволяет производить настройки экрана в настройках игры, 
возможны нарушения пропорций картинки.
"Standard" — приближение картинки к среднестатистическому телевизору.
"Custom" — режим пользовательской настройки, позволяет настроить вывод вручную.
"Full VRAM" — отображение всей видеопамяти консоли. Для более точного 
представления следует установить размер окна в 1024х512 и выставить коррекцию 
пропорций оконного режима в «None».

«Overscan»
Параметр позволяет отобразить большую часть картинки, которая может быть не 
видна на стандартном телевизоре.
(Может принимать значения в пределах: -10 - 10.)

«Position»
Сдвиг картинки.
Иногда бывает что чёрный бордюр с одной стороны больше чем с противоположной, 
используем этот параметр чтобы отцентровать картинку и затем увеличить 
используя «Zooming».
(Может принимать значения в пределах: -100 - 100.)

«Zooming»
Уменьшение/увеличение картинки.
Пропорции моего монитора 16/10 и потому в полноэкранном режиме по бокам большие 
чёрные полосы, но также достаточно часто в играх небольшие чёрные полосы сверху 
и снизу, поэтому можно задействовать большую область экрана без нарушения 
пропорций или потери части картинки.
(Может принимать значения в пределах: -100 - 100.)

«Mirroring»
Отражение экрана по горизонтали и вертикали.

«Screen rotation»
Поворот экрана на указанное количество градусов.

ЗАКЛАДКА «ADVANCED»

«Improved coordinate accuracy»
Один из методов уменьшения эффекта "дрожания" вершин.
Режим может быть задействован постоянно, но имеет смысл только в паре с 
увеличенным внутренним разрешением.

ЗАКЛАДКА «MISC»

Hot keys:

«Configuration dialog»
Установить кнопку для вызова диалога конфигурации плагина.
(По умолчанию: 'Ctrl+Alt+G'.)

«Show status»
Установить кнопку для включения/выключения отображения статуса плагина.
(По умолчанию: 'Insert'.)

«Show info»
Установить кнопку для включения/выключения отображения информации получаемой от 
эмулятора и плагинов.

«FPS limitation»
Установить кнопку для переключение между режимами ограничения fps.
(По умолчанию: 'Delete'.)

«Fast forward»
Установить кнопку для временной (на время нажатия) отмены ограничения fps.
(По умолчанию: 'End'.)

«Toggle fullscreen»
Установить кнопку для переключения между полноэкранным и оконным режимами.
(По умолчанию: 'Alt+Enter'.)

«Show/hide cursor»
Установить кнопку для скрытия/отображения курсора.
('Ctrl+H' by default.)

«Toggle bilinear filtering»
Установить кнопку для включения/выключения билинейной фильтрации.

«Change visible area mode»
Установить кнопку для переключения между режимами отображения.

«Decrease/increase shader level»
Установить кнопку для ослабления/усиления эффекта шейдера.

«Decrease/increase brightness»
Установить кнопку для уменьшения/увеличения яркости.

«Decrease/increase gamma»
Установить кнопку для уменьшения/увеличения гаммы.

«Toggle wireframe mode»
Режим каркасного отображения моделей.
Вместо закрашенных полигонов и спрайтов отрисовываются лишь их "рёбра". Режим 
нужен больше для отладки, но может пригодится и пользователю, например для 
определения положения вражины за стенкой. :D

«Rotate screen»
Установить кнопку для поворота экрана.

«Move screen left/right/up/down»
Установить кнопку для перемещения картинки.
(По умолчанию: 'Alt+D/A/S/W'.)

«Decrease/increase zoom»
Установить кнопку для уменьшения/увеличения размера картинки.
(По умолчанию: 'Alt+Q/E'.)

«Decrease/increase overscan»
FIXME

«Screenshot»
Установить кнопку для создания скриншота. Скриншоты сохраняются в каталоге 
«./captured/screenshots».
(По умолчанию: 'F8'.)

«Video recording start/stop»
Установить кнопку старта/остановки записи видео. Видео сохраняется в каталоге 
«./captured/videos».
(По умолчанию: 'Alt+F8'.)

Other:

«Show status»
Включить отображение статуса плагина при старте.

«Show info»
Включить отображение информации получаемой от эмулятора и плагинов при старте.

«Screen rumble»
Включить визуальное отображение эффекта dualshock.

«Hide cursor»
Скрыть курсор при старте.

«Disable screensaver and DPMS (Energy Star)»
Выключить скринсейвер и методы энергосохранения, подобные переходу в спящий 
режим, выключение монитора и т.п.

«Dump full VRAM»
Сохранять всю видеопамять при использовании скриншотов или записи видео.

«Enable logging»
Включить запись отладочной информации в файл (gpuBladeSoft.log).

«Enable debugger»
FIXME

«Save dialog parameters»
Сохранять размер и положения диалога при выходе. (Если выключено, диалог будет 
отображён в центре экрана с размером по умолчанию.)

«Save the settings on exit»
Сохранять изменения параметров при выходе, такие как яркость, ориентация 
дисплея, размер/координаты окна, отображение информации и т.п.

****************************************************

4) Советы

Изначальные настройки плагина оптимальны и дают качество картинки близкое к 
картинке на psx. Если вы не понимаете что делает та или иная опция, лучше не 
трогайте.

Читать, читать и ещё раз читать про те параметры которые хотите изменить, если 
лень читать, то опять же лучше ничего не трогать.

Некоторого прироста производительности можно достичь выбрать 16-битный режим в 
системных настройках экрана, обычно это где-то плюс 10-20%.

Если игра работает слишком быстро, включите ограничение числа FPS в настройках. 
Можно использовать автоматическое определение числа FPS, если нет уверенности в 
том, какое число ставить. Либо сами укажите необходимую частоту обновления 
экрана. Игры в стандарте PAL работают со скоростью 50 кадров в секунду, NTSC — 
59.94 кадров в секунду.

Если тормозит - купи нормальный компьютер, нету денег на компьютер - купи 
PlayStation(tm) и не заморачивайся. :P

****************************************************

5) Известные проблемы

При установке плана электропитания в режим "Экономия энергии" на некоторых 
системах наблюдается сильное снижение fps из-за того, что частота не повышается 
автоматически при нагрузке. Имеет смысл попробовать переключиться на режимы 
"Сбалансированный" или "Высокая производительность", либо выключить режим 
экономии энергии совсем.

Gpu плагин нуждается в более тесном сотрудничестве с ядром эмулятора, текущего 
интерфейса для полноценной эмуляции не хватает.

****************************************************

6) Лицензия

This program is freeware and cannot be sold. Also this program cannot be 
distributed without written permission. This program cannot be used for any 
commercial purposes. You may not reverse engineer, decompile, or disassemble 
the enclosed software. Authors are not responsible for any damages that this 
program may cause, and are also not responsible for anything this plugin will 
be used for.

****************************************************

7) Контакты

http://forum.emu-russia.net
irc://irc.newnet.net:6667/emu-russia
mailto:edgbla@yandex.ru

****************************************************
