How does speed work in accurate emulators?

Discuss any unrelated topics here.
Post Reply
User avatar
Imgema
Posts: 8
Joined: Wed Mar 30, 2016 8:47 am

How does speed work in accurate emulators?

Post by Imgema » Fri Apr 01, 2016 4:03 am

I always wondered about this. But here's my take.

As far as i can understand, non-accurate emulators use different kinds of hacks and code to make specific games work. It's more emulating the individual games rather than the actual console (from what i can understand with my "not a programmer" mind). This explains how some games are more demanding than others. Emulating Perfect Dark requires more processing power than Mario 64. And if your system barely runs Mario 64, you won't be able to run PD at 100% N64 speed.

However, what if the actual console is emulated? Isn't that what accurate emulators do? So, the console is a fixed hardware right? If your PC meets the requirements in emulating that, then, doesn't that mean all games should run just like they do on the N64, meaning that the requirements of each game are not important anymore? It shouldn't matter what game you try since the actual N64 is emulated in full speed as far as i can understand.

That's only if you want to emulate the games in N64 speed ofc. If you want to run PD at 60fps, you will have to make the N64 run faster than normal, thus it's requirements increase.

Am i assuming right?

User avatar
Kaede
Posts: 5
Joined: Fri Jan 09, 2015 7:05 pm

Re: How does speed work in accurate emulators?

Post by Kaede » Fri Apr 01, 2016 3:16 pm

Imgema wrote:This explains how some games are more demanding than others.
Yes but this is not the only explanation for it.
Imgema wrote:However, what if the actual console is emulated? Isn't that what accurate emulators do? So, the console is a fixed hardware right? If your PC meets the requirements in emulating that, then, doesn't that mean all games should run just like they do on the N64, meaning that the requirements of each game are not important anymore? It shouldn't matter what game you try since the actual N64 is emulated in full speed as far as i can understand.
It does not work that way : that the N64 take the same amount of time to execute two distinct "sets" of instructions does not mean the host machine will have to work equally hard for both. This is because the host machine works differently, some things may be easy to reproduce accurately (=less host CPU time needed), some things may be harder (=more CPU time needed). If the overall CPU time needed on your host machine is superior that the time needed for a real N64, you end up with slowdown and can't play realtime. If the CPU time needed on your host machine is less that the time needed for a real N64, then all is well, the host just has to "sleep" to keep the pace.
Please note that even the term "time needed" is unaccurate because for some reason or another, an hardware component may have to "wait" for another component state or answer to continue its work, even though it would be ready for more work.
Also an emulator provides all features of the original hardware, but just like the actual hardware, it does not "run" them all at the same time.
This hold true for most machines, not just N64.

User avatar
Nintendo Maniac 64
Posts: 185
Joined: Fri Oct 04, 2013 11:37 pm

Re: How does speed work in accurate emulators?

Post by Nintendo Maniac 64 » Sat Apr 02, 2016 12:39 am

Kaede wrote:If the CPU time needed on your host machine is less that the time needed for a real N64, then all is well, the host just has to "sleep" to keep the pace.
Well, except that Cen64 as it currently is just always runs as fast as possible, resulting in cases where I'll see nearly 100 VI/s on things like title screens or similar.
CEN64 Forum's resident straight-male kuutsundere
(just "tsundere" makes people think of "Shana clones" *shivers*)

CPU+iGPU: Pentium G3258 @ 4.6GHz/1.281v
dGPU: Radeon HD5870 1GB
RAM: Vengeance 1600 4x4GB
OS: Windows 7

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest