Why can most computers run modern games really well but extremely stutter when emulating old games

514 views

Why can most computers run games like RDR2, Cyberpunk, etc. Really fast but when emulating ps3/Xbox360 games it lags and can barely run it?

In: 690

20 Answers

Anonymous 0 Comments

A CPU core is like a handyman in his garage. Me for instance. I have plenty of tools, a workbench and I can make most things if I need to. For example, I could make a birdhouse.

If you ask me to make many birdhouses, I would do them one at a time because I only have one set of clamps and regular wood glue that needs a few hours to cure before removing clamps.

A modern CPU and well structured program might split the job over multiple cores. Make 4 different handymen make two birdhouses each.

A modern computer will also have GPU, which is a processor with hundreds of simple cores that are good at doing simple tasks quickly in parallel. For example, if you wanted to decorate 100 birdhouses with fun paint designs, rather than have your handymen do it one by one in their garage, it’d be faster to take them all to a local daycare or school and let the kids paint them all during crafts time. *Casually passes over implications of child labour*.

That’d be more equivalent to how a GPU would work. GPUs are great at determining what color and brightness are needed for every pixel of a screen using mathematical formulas for shaders, reflections, etc. They’re relatively simple jobs for a CPU, but it just takes too long for a CPU to do all of those low-skill tasks.

A gaming console also has a GPU-like processor for the final output step, but where they really deviate from computers is in CPU design. They don’t need a jack of all trades handyman of a processor. Gaming console processors get to be specialists.

A gaming console that makes birdhouses would be more like an assembly line. It’d be a few complex, dedicated machines. You feed in a wood board, it planes, sands, cuts, and glues it into a birdhouse. It has a fast-curing glue and it uses infrared lasers to speed up glue-curing. Birdhouses pop out one every two minutes. Another machine cuts dowels and feeds a peg into front face. A third machine applies paint.

When the console developer makes a new game, they design custom settings and tooling for the machines, and now instead of making birdhouses it makes jewelry boxes. Same machine, different settings.

When a third party developer wants to make a game, they have to get their hands on a set of these machines (they have to go buy a few consoles and an instruction manual on how they work), figure out how they could make special tools and settings to make their product. It takes them a bit longer, but they figure it out, and now they can sell the programming and tool set that gets the machine to make something new entirely like a wooden stool.

As the years go on, both first and third party developers learn to use the machines better and more efficiently to make better games. They often find the weaknesses to avoid and the quirks of the machines that let them do some pretty cool things. Perhaps the part of the machine originally designed to drill holes in the birdhouse can be fit with a rounded router bit instead of a drill bit, and with some clever programming can be used to articulate and act more like a CNC. With that, a third party developer makes a program and tool set that makes intricate wood carvings. It’s not as good as a purpose built CNC machine, but it’s pretty damn good for a machine sold 6 years ago.

When a developer makes a cross platform game, they have to figure out how to get their game to run on each different platform’s infrastructure. On an Xbox they needed to figure out Microsoft’s architecture. On a Playstation they had to map it all to Sony’s. On the Nintendo Wii, they needed to repeat it but also find a way to integrate the Wii’s unique controls.

When developing for PC, it’s a different ball game entirely. They need to figure out how to make the game run smoothly on a jack of all trades CPU, and which tasks to offload to the GPU, etc. The developer often has different teams of programmers specializing on each platform, because they’re fundamentally different. It’d be like a lifetime automotive design engineer trying to design a boat. Sure they could figure it out, but they have to think fundamentally differently. That’s why there are so many exclusive titles, and why there are a lot of games available for consoles but not PCs, and an order of magnitude more for PCs but not consoles.

So why can’t PC’s run old Xbox games? It’s because that old xbox game was using a birdhouse assembly line to make birdhouses. The PC is super powerful and fast, but it’s fundamentally different from an assembly line.

The emulator acts as a middle man. It gives the CPU instructions to “build and operate a virtual xbox”. In our analogy, that’d be like telling me to “build and operate a birdhouse assembly line in your garage”. That’s a lot harder of a task than building birdhouses, and would use a lot more power and space than making birdhouses.

The only other alternative would be to fundamentally change the game as you port it to Xbox. If you had the skills and resources to custom port an old game to run on PC, you would be better off just using those skills to make a living as a game dev instead of risking your future to copyright infringement and IP theft charges.

You are viewing 1 out of 20 answers, click here to view all answers.