Post Reply 
 
Thread Rating:
  • 15 Votes - 4.2 Average
  • 1
  • 2
  • 3
  • 4
  • 5
PPSSPP options explained
03-19-2013, 05:35 PM (This post was last modified: 04-20-2013 05:47 PM by Henrik.)
Post: #1
PPSSPP options explained
Since Henrik doesn't recommend the use of your wiki yet (not really, the Wiki is dead), I will try to documment the most important options of PPSSPP on this thread. This will (I hope) avoid new threads like "What Buffered Rendering does?" or "Why frameskip cause the screen to flicker?". The information is based on our forums, plus some changelogs from git, information from Wikipedia and other stuff. If something is wrong, please post on this thread and I will correct on OP.



If the option is named different for Windows and the SDL (all other versions) ports, I will use the following convention: Windows / SDL

Emulation / Settings
  • Interpreter / Disable "JIT (Dynarec)" option: In computer science, an interpreter is a computer program that executes, i.e. performs, instructions written in a programming language. It's a very slow type of emulation and mostly useful for debug, but should work anywhere. *option only applied after a reset*
  • Dynarec (JIT) / Enable "JIT (Dynarec)" option: stands for Dynamic Recompiler. This is also the so called JIT (Just in Time compiler). The idea is to recompile part of the program during execution (in this case, from the original MIPS from PSP to the target architecture). Much faster than interpreter and the default, recommended mode for supported architectures (x86 and ARM, for now). *option only applied after a reset*

Options / Settings
  • Buffered Rendering: the PSP can render to any location in its VRAM and use as either the scanout buffer (what you see on the screen) or textures. Many games use this to implement special effects, or simply to implement 30fps (you need to show the same buffer twice). We simulate this by allocating an OpenGL FBO for every PSP framebuffer location.
    Disabling it is a speed hack, that may or may not speed up some games, and may cause graphical artefacts and/or screen flickering. Another effect of disabling this option is that you lose the ability to do 2x supersampling.
  • Hardware Transform: uses vertex shaders to do T&L on the GPU instead of doing it in software on the CPU. It should be identically visually to SW transform but it isn't, there are some small differences between the implementations. It's faster depending of the GPU.
  • Linear Filtering: a simple filter that smooths the picture. Basically forces bilinear filtering on all graphics. May cause artifacts but also smooth out HUD and 2D.
  • Simple 2x SSAA / doesn't exist on SDL version: a simple Super Sampling Anti Aliasing 2x algorithm. Reduces aliasing from picture, needs a relative powerful GPU, especially on higher resolutions. Disable if you're having performance problems. Requires Buffered Rendering.
  • Use VBO/Draw using Stream VBO: another way to send dynamic vertex data to the GPU. It doesn't seem to give much of a speedup, it's just an experiment.
  • Vertex Cache: an optimization, that makes things faster and in turn might miss some changes in geometry - though PPSSPP do it best to make it reliable there are some edge cases it can miss. Deactivate if you see strange graphical glitches.
  • Frameskip / Frameskip (beta) *only appears on in-game settings*: activates frameskipping, may or may not give you a better performance. For now, it somewhat negates the Buffered Rendering option, so you may see graphical artefacts and/or screen flickering even with Buffered Rendering on.
    If the performance is limited by the GPU or GPU emulation, frameskip may help. If performance is limited by CPU emulation / HLE / in general anything else, it probably won't help. So it depends not only on hardware but also on the game. And definitely could also depend on drivers.
  • Use Media Engine: all it does is control whether HLE functions return -1 or attempt to work. If the game is not calling sceMpeg* functions, the option shouldn't have any affect.
    Some games may hang with this option off, others may hang with this option on, your mileage will vary.
  • Fast Memory (dynarec, unstable) / Fastmem (may be unstable): simply assumes that all memory accesses the game does are valid, and thus skips some checks, gaining a bit of speed. Of course, if a game does an invalid memory access, the whole emu will crash as a result. *option only applied after a reset*
  • Ignore illegal reads/writes / doesn't exist on SDL version: debug feature, can be ignored.

SDL Version exclusives
  • Mipmapping: disabling it may make things show at higher detail, but may also make the game slower. It was always enabled before. For how it works, see this article on Wikipedia.

Additional features
  • Turbo Mode / doesn't exist on SDL version: hold TAB.



Making logs (useful for debugging/repporting)

How to create a PPSSPP log:
In the main PPSSPP folder where the PPSSPPWindows.exe is Make a folder called USER, inside that folder you just created, make a new folder called Logs.

Now start up emulator with a game running in there, once the emulator has stopped either by you closing it or it crashing, check inside the logs folder, open the ppsspp.log file with notepad or wordpad, copy & paste that to:

'Pastebin.com' or If this is a very large file, compress this log with a compression program like Winzip, or Winrar and upload the file to Mediafire, then copy & paste that address it gives you onto this forum under the correct gaming thread, where it will be noted & viewed by the developers.

Edit: To stop logs being made just delete the Logs folder.

If you need to make a log on JPCSP emulator, as you may wish to compare the logs from both emulators then follow this guide:

How to create a JPCSP log:
Load up JPCSP until main screen appears, click on Debug > Tools > Show Logger, when new logger window appears, click on arrow right of the word OFF and set to INFO level. Load and start the game you want to log until you receive the error or you exit JPCSP, that will now generate a .txt file in the JPCSP's MAIN FOLDER called log.txt.......

Post that log.txt file either at 'Pastebin.com' or If this is a very large file, compress this log with a compression program like Winzip, or Winrar and upload the file to Mediafire, then copy & paste that address it gives you onto this forum under the correct gaming thread, where it will be noted & viewed by the developers.

Remember to turn the logger back off afterwards, otherwise it will continue to make logs.

by KingPepper
Find all posts by this user
Quote this message in a reply
03-19-2013, 05:47 PM (This post was last modified: 03-19-2013 05:55 PM by Henrik.)
Post: #2
RE: PPSSPP options explained
Fast Memory simply assumes that all memory accesses the game does are valid, and thus skips some checks, gaining a bit of speed. Of course, if a game does an invalid memory access, the whole emu will crash as a result.

Also, the wiki is dead. It became a spam fest so I had to shut it down.

And by the way, nice post!
Find all posts by this user
Quote this message in a reply
03-19-2013, 06:09 PM (This post was last modified: 03-19-2013 06:14 PM by m45t3r.)
Post: #3
RE: PPSSPP options explained
(03-19-2013 05:47 PM)Henrik Wrote:  Fast Memory simply assumes that all memory accesses the game does are valid, and thus skips some checks, gaining a bit of speed. Of course, if a game does an invalid memory access, the whole emu will crash as a result.

Also, the wiki is dead. It became a spam fest so I had to shut it down.

And by the way, nice post!

Nice, so now I only need to discover what "Use VBO", "Hardware Transform" and "Ignore illegal reads/writes" does and this post is complete.
Find all posts by this user
Quote this message in a reply
03-19-2013, 06:17 PM
Post: #4
RE: PPSSPP options explained
nice post +rep should be sticky
Find all posts by this user
Quote this message in a reply
03-19-2013, 06:19 PM (This post was last modified: 03-19-2013 06:19 PM by m45t3r.)
Post: #5
RE: PPSSPP options explained
(03-19-2013 06:17 PM)sfageas Wrote:  nice post +rep should be sticky

Well, this is the idea: to avoid repeated threads about what the options of PPSSPP does.
Find all posts by this user
Quote this message in a reply
03-19-2013, 06:21 PM
Post: #6
RE: PPSSPP options explained
Stickied it.
Find all posts by this user
Quote this message in a reply
03-19-2013, 06:23 PM
Post: #7
RE: PPSSPP options explained
Thanks.

We need more posts with information like this.
Find all posts by this user
Quote this message in a reply
03-19-2013, 06:37 PM (This post was last modified: 03-19-2013 06:38 PM by stodag.)
Post: #8
RE: PPSSPP options explained
Nice.. im surprised this wasn't done soonerSmile

so what does frameskipping do ??.... lol joke.
Find all posts by this user
Quote this message in a reply
03-19-2013, 07:13 PM (This post was last modified: 03-19-2013 07:14 PM by Henrik.)
Post: #9
RE: PPSSPP options explained
(03-19-2013 06:09 PM)m45t3r Wrote:  
(03-19-2013 05:47 PM)Henrik Wrote:  Fast Memory simply assumes that all memory accesses the game does are valid, and thus skips some checks, gaining a bit of speed. Of course, if a game does an invalid memory access, the whole emu will crash as a result.

Also, the wiki is dead. It became a spam fest so I had to shut it down.

And by the way, nice post!

Nice, so now I only need to discover what "Use VBO", "Hardware Transform" and "Ignore illegal reads/writes" does and this post is complete.

Use VBO is another way to send dynamic vertex data to the GPU. It doesn't seem to give much of a speedup, it's just an experiment.

Hardware Transform uses vertex shaders to do T&L on the GPU instead of doing it in software on the CPU. Can be faster or much faster depending on game and hardware. It should be identically visually to SW transform but it isn't, there are some small differences between the implementations.

Ignore illegal reads/writes is a debugging feature, can ignore it.
Find all posts by this user
Quote this message in a reply
03-19-2013, 07:17 PM (This post was last modified: 03-19-2013 07:18 PM by m45t3r.)
Post: #10
RE: PPSSPP options explained
(03-19-2013 07:13 PM)Henrik Wrote:  
(03-19-2013 06:09 PM)m45t3r Wrote:  
(03-19-2013 05:47 PM)Henrik Wrote:  Fast Memory simply assumes that all memory accesses the game does are valid, and thus skips some checks, gaining a bit of speed. Of course, if a game does an invalid memory access, the whole emu will crash as a result.

Also, the wiki is dead. It became a spam fest so I had to shut it down.

And by the way, nice post!

Nice, so now I only need to discover what "Use VBO", "Hardware Transform" and "Ignore illegal reads/writes" does and this post is complete.

Use VBO is another way to send dynamic vertex data to the GPU. It doesn't seem to give much of a speedup, it's just an experiment.

Hardware Transform uses vertex shaders to do T&L on the GPU instead of doing it in software on the CPU. Can be faster or much faster depending on game and hardware. It should be identically visually to SW transform but it isn't, there are some small differences between the implementations.

Ignore illegal reads/writes is a debugging feature, can ignore it.

Thanks Henrik, now it's completedBig Grin.

Later I will describe the rest of the options if it's interesting for someone.
Find all posts by this user
Quote this message in a reply
03-20-2013, 05:37 AM
Post: #11
RE: PPSSPP options explained
I don't think any options are per-game right now (frameskip or otherwise)... Good descriptions.

-[Unknown]
Find all posts by this user
Quote this message in a reply
03-20-2013, 06:07 AM
Post: #12
RE: PPSSPP options explained
So since Xperia Play's GPU is stronger (when you compare to other single core 1ghz phones) than other phones with similar specs, hardware transformation can be pretty essential ?

Im not really sure how valid my claim is, I just heard that XP's GPU is almost on par with SGS2's GPU.


Also, if Stream VBO has minor performance impact, is there any reason not to use it/does it have side effects ?
Find all posts by this user
Quote this message in a reply
03-20-2013, 11:50 AM (This post was last modified: 03-20-2013 11:53 AM by m45t3r.)
Post: #13
RE: PPSSPP options explained
(03-20-2013 05:37 AM)[Unknown] Wrote:  I don't think any options are per-game right now (frameskip or otherwise)... Good descriptions.

-[Unknown]

What I tried to say is that the Frameskip option only appears after you load a game and go to the settings. I will fix that.

(03-20-2013 06:07 AM)Thewonderboy Wrote:  So since Xperia Play's GPU is stronger (when you compare to other single core 1ghz phones) than other phones with similar specs, hardware transformation can be pretty essential ?

Im not really sure how valid my claim is, I just heard that XP's GPU is almost on par with SGS2's GPU.


Also, if Stream VBO has minor performance impact, is there any reason not to use it/does it have side effects ?

At least on my Galaxy Nexus Stream VBO causes a minor performance impact (~5FPS), so I leave it disabled. Hardware Transform is essential to get full speed on my Galaxy Nexus, your mileage may vary.
Find all posts by this user
Quote this message in a reply
03-21-2013, 06:12 AM
Post: #14
RE: PPSSPP options explained
I have a question about frameskip.

On another thread, user reported that his Huawei Sonic ran homebrew game "Nazi Zombies Portable" around 4-6 FPS but with frameskip he averanged 10 FPS.

I dont know how frameskip works so bear with me, but I think its generaly just good thing to have (unless you experience GFX glitches) ?

Now I get arOund 5-7 FPS on my Xperia Play but with frameskip I see no visible performance increase or decrease. The question is, does it depend on your hardware how well frameskip works and not on the game ?

Or is it simply driver/hardware support related issue.... I heard that older snapdragon chips are still not fully supported.
Find all posts by this user
Quote this message in a reply
03-21-2013, 06:17 AM
Post: #15
RE: PPSSPP options explained
Yes. If the performance is limited by the GPU or GPU emulation, frameskip may help. If performance is limited by CPU emulation / HLE / in general anything else, it probably won't help. So it depends not only on hardware but also on the game. And definitely could also depend on drivers.

-[Unknown]
Find all posts by this user
Quote this message in a reply
Post Reply 


Forum Jump: