Dolphin, the GameCube and Wii emulator - Forums

Full Version: 30 fps frameskip?
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
When I play a normal game and I can't run it at 60+ fps, I usually just cap it at 30 fps with dxtory and It's fine but it just looks choppier. In most games it just skips the frames. Howver, on dolphin it makes the game actually go twice as slow ,instead of just letting it go at the full speed but not showing half of the frames. Is it possible to do that on Dolphin?
I don't use frameskip . Actually , frameskip make the game run slower . Why ?
Because Frame skipping allows the emulator to skip a certain number of frames while maintaining the real-time speed -> Less FPS -> Make the game look like it's faster but less FPS is the fact you must accept
On some games , you need to run them near full speed otherwise you'll have choppy audio (Xenoblade for example)
Just overclock your CPU and then you'll be fine
I just want it to have the same speed as 60 FPS, but look choppy.
But with the emulator settings that can't be done. But it's a standard thing in PC games, so I'm kind of used to it.
Most emulatord have an auto frameskip option for it.
The problem is that older consoles had completely synced CPU and GPU threads (so as long as you had part of the data to be sent back, everything was fine) but newer consoles communicate by a ring buffer (in a GC/Wii this is called the FIFO). This means that the emulated GPU needs to send back more data than on older consoles, so the whole frame needs rendering anyway. Skipping it all would break the game, and skipping part of it would also break the game.

There are some details left out of this which are important for it to be correct and/or make any kind of sense, so if anyone wants to post a corrected version, that would be great.
Anytime someone asks about frameskipping in Dolphin, I just refer them to skid's post:

(03-23-2012, 03:20 PM)skid Wrote: [ -> ]Frame skipping cannot really be done on modern consoles (modern as in any console that uses 3D polygons instead of sprites like the NES, SNES, Megadrive/Genesis). The reason is that the CPU communicates to the GPU using a "ring-buffer". In Dolphin we call that the FIFO. The PCSX2 team also have blogs written up on the ring-buffer used in the PS2.

Unlike old consoles which use an interrupt to signal that a frame is finishing, 3D consoles continuously send a stream of 3D commands to the screen (hence the reason why it's called a ring) with no start or end points.

Without start or end points, Dolphin cannot skip frames because it does not know when the frame starts or ends - quite different from a NES emulator.
That's the one.
To clarify: Frameskipping still renders the frames, it just doesn't draw them.

The OP is actually asking something different though. He's asking about making 60 fps games run fullspeed at 30 fps. In other words not having the game logic synced to the framerate, like a PC game. Since consoles games are not coded this way there is nothing we can do about this.