Dolphin, the GameCube and Wii emulator - Forums

Full Version: Why do emulators need such powerful hardware?
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2
Can someone explain to me simply why emulators require such powerful processors and why 360/ps3 emulators are currently impossible? I'm not saying I want anyone to make a 360/PS3 emulator I just want to be informed.
Thanks
(10-15-2013, 11:15 AM)ijed Wrote: [ -> ]Can someone explain to me simply why emulators require such powerful processors and why 360/ps3 emulators are currently impossible? I'm not saying I want anyone to make a 360/PS3 emulator I just want to be informed.
Thanks
No emulator for a system is impossible. It may be impractical but not impossible.

The reason Emulators need powerful processors put simply is because you are not just directly playing the game. Your PC has to act like or emulate the actual system which would be easier if the system was x86 but it isn't so you have to also translate powerpc instructions to x86 instructions.

That's put simply. Anyone can expand on this.
https://dolphin-emu.org/docs/faq/#why-do...late-old-c

Dolphin FAQ Wrote:While it's true the GameCube and Wii hardware is a lot slower than what you need to emulate the console using Dolphin, the hardware found in these consoles is also very different from what you can find in a gaming PC. For example:

*Instead of an Intel or AMD x86 CPU, GameCube and Wii use an IBM PowerPC CPU. Games are programmed for this CPU: when emulating, every basic instruction a game runs needs to be translated to something a PC can execute. Depending on the instruction, this can take from 2x to 100x clock cycles, which explains why you need more than a 486MHz CPU to emulate a GameCube.

*The RAM in these consoles is SRAM, smaller but faster than the SDRAM used in a PC. It is also shared between CPU and GPU, which makes operations like texture uploads (CPU memory to GPU memory) or framebuffer copies (GPU memory to CPU memory) a lot less demanding than they are on a PC.

*The GPU is not using shaders: every graphics effect and every computation done by the game is executed directly by the hardware without an intermediate programming language. This does not match how a PC GPU works at all. Dolphin uses shaders on the PC GPU to translate what the GC GPU can do directly in hardware, causing it to run a lot slower.

*A PC runs an operating system in order to be able to run several programs at the same time. A GameCube or a Wii does not have the same requirement and can directly execute things on the hardware without going through the operating system, making a lot of communication between chips faster.

This list is not exhaustive but should give you a good idea of what exactly makes emulation require a powerful computer.
Another alternative quick summary: You're essentially building a virtual computer out of code that runs as fast as the real thing. Modern computers are extremely complicated machines will hundreds of millions or billions of electronic components that process billions of computational operations every second. Doing this entirely in software that needs to mimic different hardware behavior is understandably going to be quite demanding.
Or think of it like the difference of trying to talk to a foreign person using his native language and with the help of a person who translates it to your own. Emulation is the second case, it will always be a lot slower using the help of someone to translate for you than it would be if you knew the native language to talk directly. Pc's don't understand the commands that wii uses and need a program to make that translation to a code that they do understand.
(10-15-2013, 07:22 PM)Link_to_the_past Wrote: [ -> ]Pc's don't understand the commands that wii uses and need a program to make that translation to a code that they do understand.

This program is Dolphin Big Grin
Except human language translators don't end up spitting out sentences 50 times as long as the original.....

Other than that it's a fairly good analogy.
Except simultaneous interpreters as well.
(10-15-2013, 11:15 AM)ijed Wrote: [ -> ]Can someone explain to me simply why emulators require such powerful processors and why 360/ps3 emulators are currently impossible? I'm not saying I want anyone to make a 360/PS3 emulator I just want to be informed.
Thanks
Because they emulate the hardware chips rather than the game or the SDK.

Obviously, it would be possible to just emulate the game, because there are ports of the game to different platforms, including PC. And those ports mostly run the exact same source code. But emulating every single CPU instruction for the completely different multiple CPUs and GPUs, is the slow part.

There are xbox emulators that (sort of) work by only emulating at the SDK level.
Ports doesn't use the exact same source code, the word "porting" precisely means to change the source code so that it works on another platform.
Pages: 1 2