What's new

Low FPS with Dolphin

Clements

Active member
Moderator
Yep but it doesn't make the hardware weaker for games or emulation because it isn't used anyway. By the way I'm not sure what sort of AA the Flipper can handle. If it's only supersampling with an ordererd grid the GS should be able to do the same (as does any graphics chip that can render sufficient resolutions).

In the specs it is listed as FSAA (Full Scene Anti-aliasing). Sure, PS2 can do similar (supersampling), but since it would have to be in software (no dedicated hardware acceleration for it), so it comes at a much larger performance penalty. Same reason 3DMark's 2D tests are dog slow (not run in hardware).

The GC has one main processor (Gekko). The PS2 has in addition its two MIPS cores one FPU and two VUs (all together called Emotion Engine). Both have a SPU and a graphics chip (of course). You can't deny that the PS2 is a multiprocessor architecture while the GC is not.
This is also the reason why the PS2 is said to be hard to program and why it took a long time until we saw the potential of the hardware in games (and some devs still say it's not actually fully exploited yet).

Gekko also has an integrated FPU (and ALU), as do almost all modern processors. It just mainly lacks the vector units of the EE.

If you were to say multi-CPU/multi-core on the same die or similar, I would definitely agree with you, but 'multi-processor' merely implies more than one processor for a certain task, which the GC has.

The PS2 is hard to develop for mainly because of the poor design. The vector units are hard to exploit, but are often used as a crutch for graphics processing. Does not necessarily mean the units themselves are inherently harder to emulate from a reverse engineering perspective.

edit: Just to make it clear: I'm not saying the PS2 is more powerful than the GC (in practice it's usually the other way round), but it may be harder to emulate nevertheless.

You also have to account for the fact that the PS2 has already been emulated at fullspeed in many 3D games, while with GC, 3D games are generally about 10 fps with the latest unreleased Dolphin (which has 64-bit and dual-core optimisations), in about the same time frame (Teaser was released in 2004 and was in development for longer, 1st release of PCSX2 was around 2003). PCSX2 has been running full 3D games fast for well over a year. More projects have been started with the GC than PS2 as well.

If one were to say that the PS2 is harder to emulate, it contradicts what has actually happened so far. You may be right, but it is difficult to believe.
 
Last edited:

lightchris

New member
In the specs it is listed as FSAA (Full Scene Anti-aliasing). Sure, PS2 can do similar (supersampling), but since it would have to be in software (no dedicated hardware acceleration for it), so it comes at a much larger performance penalty. Same reason 3DMark's 2D tests are dog slow (not run in hardware).

Actually the "FSAA" says absolutely nothing about what type of AA is meant. It can be supersampling, multisampling (both with ordered or sparsed grid), edge anti-aliasing or something even different. Sadly there don't seem to exist any detailed information.

As for supersampling: It can't be accelerated in hardware (as it's just a higher resolution in principle). It might be that Flippers AA is nothing more than that.


Gekko also has an integrated FPU (and ALU), as do almost all modern processors. It just mainly lacks the vector units of the EE.

If you were to say multi-CPU/multi-core on the same die or similar, I would definitely agree with you, but 'multi-processor' merely implies more than one processor for a certain task, which the GC has.

The PS2 is hard to develop for mainly because of the poor design. The vector units are hard to exploit, but are often used as a crutch for graphics processing. Does not necessarily mean the units themselves are inherently harder to emulate from a reverse engineering perspective.

Well, of course the definition of a multiprocessor system can vary. But from my perspective, the need to use the main processor along with the 2 VUs with all it's problems with e.g. synchronzing them all (but also the advantages) speak for a multiprocessor system. The PCSX2 devs are also calling it that way. Let me add a few more statements from refraction:

refraction said:

Which means MIPS isn't MIPS and the advantage of their experience with the PS1 emulator PCSX is limited. And:

refraction said:

Independent CPUs --> multiprocessor system (in my opinion)


What you call "poor" design is nothing more than that the work with the different kinds of processors is difficult. The design of the Gameucbe or Xbox is easier to understand and to program because of that. Another factor is that there weren't good development tools for the PS2 for a relatively long time.



You also have to account for the fact that the PS2 has already been emulated at fullspeed in many 3D games, while with GC, 3D games are generally about 10 fps with the latest unreleased Dolphin (which has 64-bit and dual-core optimisations), in about the same time frame (Teaser was released in 2004 and was in development for longer, 1st release of PCSX2 was around 2003). PCSX2 has been running full 3D games fast for well over a year. More projects have been started with the GC than PS2 as well.

If one were to say that the PS2 is harder to emulate, it contradicts what has actually happened so far. You may be right, but it is difficult to believe.

The difference is that PCSX2 has been constantly worked on over years. No other Gamecube emulator has had that much develoment time (at least no public one that we would know of). As far as I know Dolphin makes no exception there and had a very low acitivty the last 2 years.
 
Last edited:

Clements

Active member
Moderator
Actually the "FSAA" says absolutely nothing about what type of AA is meant. It can be supersampling, multisampling (both with ordered or sparsed grid), edge anti-aliasing or something even different. Sadly there don't seem to exist any detailed information.

As for supersampling: It can't be accelerated in hardware (as it's just a higher resolution in principle). It might be that Flippers AA is nothing more than that.

From what little we do know, the GC's FSAA is hardware accelerated. This information is widely available on the web. Here is a full feature list of the Flipper:

Fog, Subpixel Anti-aliasing, 8 Hardware Lights, Alpha Blending, Virtual Texture Design, Multi-texturing, Bump Mapping, Environment Mapping, MIP Mapping, Bilinear Filtering, Trilinear Filtering, Anisotropic Filtering, and Real-time Hardware Texture Decompression (S3TC).

Well, of course the definition of a multiprocessor system can vary. But from my perspective, the need to use the main processor along with the 2 VUs with all it's problems with e.g. synchronzing them all (but also the advantages) speak for a multiprocessor system. The PCSX2 devs are also calling it that way. Let me add a few more statements from refraction:

Refraction is only comparing the PSX with the PS2 here. Nothing is mentioned about the GC, so there is no meaningful evidence that the PS2 emulation is more difficult to emulate at full speed. What Refraction said is fairly common info. Search this board for quotes from FiRES and ector as to why GC emulation is difficult and very slow.

Which means MIPS isn't MIPS and the advantage of their experience with the PS1 emulator PCSX is limited. And:

MIPS is still MIPS architecture. It is widely documented and has appeared in two consoles before PS2. The EE may have more instructions, but it is still based on MIPS. Gekko is a totally novel CPU for a console. The Athlon XP is still an x86 CPU despite having support for SSE and MMX which was not seen in earlier x86 CPUs.

Independent CPUs --> multiprocessor system (in my opinion)

Okay.

What you call "poor" design is nothing more than that the work with the different kinds of processors is difficult.

Especially when certain processors that comprise the EE are not general purpose.

The difference is that PCSX2 has been constantly worked on over years. No other Gamecube emulator has had that much develoment time (at least no public one that we would know of). As far as I know Dolphin makes no exception there and had a very low acitivty the last 2 years.

PCSX2 development was also rocky in the early days, with many devs leaving and plugins becoming discontinued. GSMax (?), GStaris and GSsoft to name a few. On the GC side, we have at least 4 discontinued emulators, which suggests that GC emulation is difficult. Difficulty reduces motivation.
 
Last edited:

lightchris

New member
From what little we do know, the GC's FSAA is hardware accelerated. This information is widely available on the web. Here is a full feature list of the Flipper:

Fog, Subpixel Anti-aliasing, 8 Hardware Lights, Alpha Blending, Virtual Texture Design, Multi-texturing, Bump Mapping, Environment Mapping, MIP Mapping, Bilinear Filtering, Trilinear Filtering, Anisotropic Filtering, and Real-time Hardware Texture Decompression (S3TC).

As I said: The information is very poor. We don't know anything about the Flipper's AA.


Refraction is only comparing the PSX with the PS2 here. Nothing is mentioned about the GC, so there is no meaningful evidence that the PS2 emulation is more difficult to emulate at full speed. What Refraction said is fairly common info. Search this board for quotes from FiRES and ector as to why GC emulation is difficult and very slow.

I know that. I only quoted the statements for the parts I highlited.


MIPS is still MIPS architecture. It is widely documented and has appeared in two consoles before PS2. The EE may have more instructions, but it is still based on MIPS. Gekko is a totally novel CPU for a console. The Athlon XP is still an x86 CPU despite having support for SSE and MMX which was not seen in earlier x86 CPUs.

Okay, that's right.

PCSX2 development was also rocky in the early days, with many devs leaving and plugins becoming discontinued. GSMax (?), GStaris and GSsoft to name a few. On the GC side, we have at least 4 discontinued emulators, which suggests that GC emulation is difficult. Difficulty reduces motivation.

Yes, work on PCSX2 was not at all times as good as the last few years. Nevertheless it has been worked on intensely for a few years by now while it's different in GC emulation.

The question why so many GC emulators got discontinued is a open-ended question. It may be because it's difficult (let's say more difficult than PS2 emulation). But the reason might just as well be that the PS2 is much more popular (120 vs. 20 mio. sold) or it may be just a coincidence that more devs found together for a PS2 emulator (I think this is most likely). Also there have been other PS2 emulators than PCSX2 which are now discontinued (Neutrino SX2, PS2Emu).
 

Doomulation

?????????????????????????
There can be several definitions to a poor design or architecture, as I would like to call the PS3 (and the PS2 too I believe, even though I know not much of it). The reason is often due to bottlenecks of engineering, making the system for an entirely different purpose than it was meant to be for, or simply because the engineers found it fun in making it complex (though maybe with a little added power, as recently found in the PS3).
The PS3 has a lot of complexity and the fact that the Cell processor was made for media in mind (not gaming), doesn't really help... To add that the system memory on the console is limited, and other factors I don't remember, also continued to make the Xbox 360 about equal in terms of performance due a better designed architecture.

Just a thought anyway... Carry away!
 

Tagrineth

Dragony thingy
What you call "poor" design is nothing more than that the work with the different kinds of processors is difficult.

No, no, the PS2 really is poorly designed in many ways. The GIF-to-GIS bus (aka the path between the Emotion Engine) is heavily over-taxed most of the time due to the graphics chip having no direct access to system memory (oops), and the GS can only read/write to its own embedded memory.

On top of that the VUs are kinda separate processors but at the same time they kinda aren't. VU0 is the most adept of the two at running something akin to general purpose code, but even then it can hardly be considered a separate processor. VU0 and VU1 are almost useless without the 5900i they're bolted onto. VU1 often complements the GS almost exclusively, too, running graphics code more often than anything else as it is very very fast at specific tasks.

Anyway, the PS2 is a fascinating system but in many aspects Sony made some very strange and borderline fucked up design choices with it. There's definitely a lot more to the "badly designed" argument than "multiple processors = hard" though.
 

lightchris

New member
No, no, the PS2 really is poorly designed in many ways. The GIF-to-GIS bus (aka the path between the Emotion Engine) is heavily over-taxed most of the time due to the graphics chip having no direct access to system memory (oops), and the GS can only read/write to its own embedded memory.

On top of that the VUs are kinda separate processors but at the same time they kinda aren't. VU0 is the most adept of the two at running something akin to general purpose code, but even then it can hardly be considered a separate processor. VU0 and VU1 are almost useless without the 5900i they're bolted onto. VU1 often complements the GS almost exclusively, too, running graphics code more often than anything else as it is very very fast at specific tasks.

Anyway, the PS2 is a fascinating system but in many aspects Sony made some very strange and borderline fucked up design choices with it. There's definitely a lot more to the "badly designed" argument than "multiple processors = hard" though.

Thanks for the explaination. :) Sounds interesting.

You seem to know about things pretty well (at least way more then me) - may I ask you what you would think: Is Gamecube emulation more hardware intensive than PS2 emulation or is it comparable?
 
Last edited:

Tagrineth

Dragony thingy
It's comparable really. PS2 is better documented and many games underuse the hardware. GCN on the other hand has few to no public documentations and very proprietary hardware (especially Flipper). GCN also has a significantly more complex and powerful GPU than the PS2. The Gekko CPU has some clever trickery including cool stuff like paired singles (the processor has a 64-bit pipeline but cannot execute 64-bit code - however it has the ability to push and execute two 32-bit values simulatenously).

The real kicker is how much of the Flipper LSI is still unknown to coders.

Oh, and did I mention a lot of PS2 games (especially early games) used N64-esque library based programming practices? :)
 

Top