4
\$\begingroup\$

Why does an emulator use more RAM than the original system? What are emulators doing that requires so much more power?

For example, when using the PSP emulator PPSSPP I'm experiencing lag on a modern PC with gigabytes of RAM, even though the PSP runs with only 32MB of RAM.

When developing my own console emulator, should I not expect it to use a similar amount of RAM / CPU cycles / other resources as the original system has to offer? Or is there extra overhead that makes emulating much more demanding than what the original hardware's specs would suggest?

\$\endgroup\$
  • \$\begingroup\$ Sorry, if it is off topic. I just wanted to know how emulator actually works and is it worth developing an emulator for high-end consoles. Since gaming.stackexchange is all about playing games I wasn't sure if I will get an answer there, so I chose development. \$\endgroup\$ – A.k. Feb 24 '18 at 2:57
  • \$\begingroup\$ I'm voting to close this question as off-topic because it serves no game development value. \$\endgroup\$ – Kromster Feb 26 '18 at 19:01
9
\$\begingroup\$

Emulation usually requires a lot more processing power than the original platform. The reason is that a good and accurate emulator needs to simulate all the quirks and specialities of the original hardware, but can only do so using software methods. Just one example which applies to the PSP in particular is that it doesn't have an x86 CPU like your PC does. It uses a MIPS CPU with a completely different architecture and instruction set. And all the other components of a PSP (graphic chip, sound chip, memory controller...) are just as exotic from a PC viewpoint.

You often won't get around to create a complete simulation of the original hardware in software.

So when you are playing a PSP game on your PC using an emulator, then your PC isn't running the game. It is running a virtual simulation of the PSP hardware which is running the game.

This additional layer of abstraction requires quite a lot of resources. This is why the first feasible emulators often only appears decades after the release of a system. It just takes that long for a generation of PC hardware to appear which is powerful enough to accurately simulate a past generation of completely different hardware in real-time.

Now that game consoles become more and more PC-like in their hardware design (both XBox One and PS4 use common x86 CPUs and GPUs from AMD which are almost identical to those sold on the PC market), it actually becomes a lot easier to emulate their hardware. But a new obstacle has appeared on the software front. Modern game consoles have very advanced Digital Rights Management systems. They also rely on very sophisticated firmware. Just copying that firmware would be a copyright infringement. Creating a free clone of the firmware would be theoretically possible, but quite a lot of additional work for the emulator developers.

\$\endgroup\$
  • 2
    \$\begingroup\$ @BrianH. I don't think this question is off-topic. Emulating game systems is a subset of game development, IMO. Also, questions which are off-topic on one stackexchange site can be migrated to a different one. When they already have an answer, that's even better. \$\endgroup\$ – Philipp Feb 23 '18 at 12:26
  • 3
    \$\begingroup\$ @BrianH. I didn't unilaterally close the question because it doesn't fall precisely in any of our standard close reasons. I might not think it's on-topic, but that's what our community voting process exists to determine, since differences of opinion on cases like this are pretty natural, and our rules evolve from community consensus. I don't think Philipp has done anything wrong here by offering a clear answer to an open question. \$\endgroup\$ – DMGregory Feb 23 '18 at 13:06
  • \$\begingroup\$ This may be off-topic (perhaps better asked in meta or chat), but is it problematic to answer a question that's off-topic? Like @DMGregory said, people have different opinions on what is on-topic/off-topic. \$\endgroup\$ – Jeff Feb 26 '18 at 15:11
  • 1
    \$\begingroup\$ @Jeff we generally don't want to encourage a flood of off-topic questions by answering them, so we clamp down fairly hard on ones we know are clearly off-topic and get asked a lot ("which tech should I use..." etc). For questions that are borderline and not that frequently asked, there's less risk of encouraging a flood by taking some time to discuss, edit, propose answers, to see if we can shape the Q&A in an on-topic direction. \$\endgroup\$ – DMGregory Feb 26 '18 at 15:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.