[Boards: 3 / a / aco / adv / an / asp / b / bant / biz / c / can / cgl / ck / cm / co / cock / d / diy / e / fa / fap / fit / fitlit / g / gd / gif / h / hc / his / hm / hr / i / ic / int / jp / k / lgbt / lit / m / mlp / mlpol / mo / mtv / mu / n / news / o / out / outsoc / p / po / pol / qa / qst / r / r9k / s / s4s / sci / soc / sp / spa / t / tg / toy / trash / trv / tv / u / v / vg / vint / vip / vp / vr / w / wg / wsg / wsr / x / y ] [Search | Free Show | Home]

Why is emulation so taxing on the CPU?

This is a blue board which means that it's for everybody (Safe For Work content only). If you see any adult content, please report it.

Thread replies: 80
Thread images: 12

File: 1200px-EPSXe-logo.svg.png (83KB, 1200x1064px) Image search: [Google]
1200px-EPSXe-logo.svg.png
83KB, 1200x1064px
Why is emulation so taxing on the CPU?
>>
File: 1483800440398.png (38KB, 320x243px) Image search: [Google]
1483800440398.png
38KB, 320x243px
Because the PC isn't as powerful as the console it's trying to emulate
>>
I don't know the ins and outs but I think emulation can only use a single core.
>>
File: 1497276742551.png (219KB, 592x960px) Image search: [Google]
1497276742551.png
219KB, 592x960px
>>383694520
but how
>>
When you try to emulate the ghost of the dead system comes by and calls your cpu mean names which makes him feel sad and not perform as well as he should.
>>
>>383694537
And that's wrong
>>
>>383694335
Because it's not only trying to be a computer, but also pretending to be another computer on top of that, essentially.
>>
>they do it for free
>not optimize for every cpu because they do it for free
>not optimize for every setup because they do it for free
>niche architect for each console
>>
>>383694335
because they don't use more than 2 cores
>>
File: tenor (3).gif (2MB, 264x240px) Image search: [Google]
tenor (3).gif
2MB, 264x240px
>>383694520
>>
>>383694684
Is it possible to install console OS on pc and play games on it without emulation?
>>
>>383694335
Because emulation is not just attempting to run the game software. It is attempting to simulate the chip set of the console, then run the game software on that simulation. Most console games are designed to run only with a specific hardware setup, or call in chips which a standard computer probably won't have, and so you need to emulate a system as if that specific setup was how the computer was designed.

In general, it takes many times the processing power to emulate something than it takes to run it natively.
>>
Rewriting console GPU instructions for the PC GPU is taxing. The CPU is does most of the work.
>>
>>383694335
consoles are complex systems
>>
>>383694520
true and straight
>>
To emulate a console properly, a CPU needs to have a clockspeed of about 10x the speed of that particular console. Most consoles use a recompiler called Dynarec to get around this. It's nowhere near perfect though and you still need about 5x the clock speed.
>>
>>383694335
It's like a virtual machine except the computer doesn't know what the fuck it's emulating.
>>
>>383694520
No? That doesn't make any sense at all
>>
>>383694842
And I guess the biggest problem would be the amount of GPUs on the market which would make optimization a bitch

GPGPU 1:1 emulation when?
>>
>>383694960
Hence the interpreter recompiler, which is why most emulators use dynarec, which is 2x better but still a piece of shit.
>>
Why is translation so taxing on an interpreter?
>>
>>383694756
In theory it's possible, but given that you'd need to set up some way for that OS to be installed on the base layer a computer's hardware, it'd be incredibly difficult (and not allow you to do anything without the proper hardware, IE controllers), plus then you have to worry about hardware differences, the hardware being more powerful is good, but the games aren't developed for it, so games will probably run like total garbage across the board. emulators are great because they help brute forcing to be a bit more finessed.

So, in theory, yes, it's possible, but in practice, no. No one has done it so far because you'd need to find a way to mount the OS on modern hardware, firstly, then make the original hardware work with it, then lastly you'd need to basically re-develop the entire OS and games as well to play more amicably with the hardware you have. It's a ton of work for 0 benefit.
>>
>>383694520
fpbp
>>
>>383695007
Kinda right. CUDA and OpenGL would make this worthwhile but that's only been integrated more recently. Dolphin used some similar shit but I remember it not improving much since most games/applications didn't use it.
>>
>Why is software emulation slower than having the real hardware with no overhead or conversions to do in the middle?
Do you also wonder why software mode rendering is slower than gpu rendering?
>>
>>383694756
PC guts is almost always fundamentally different to console guts. It's not as simple as installing the OS.
>>
>>383694335
you are poor
>>
Emulation is like, shallow hal. He sees a hot bitch, everyone else sees a fat bitch the size of texas.

Shallow hal = you
Fat bitch = emulated console
Everyone else = PC trying to emulate said fat bitch
>>
>>383694335
Most emulators are very poory made
>>
>>383695279
Yeah I get it, but a modern rig is thousands of times more capable than a snes, maybe even millions.
>>
>>383695156
Good explanation but you're missing a layer I think. The kernel is that bridge and had the console's kernel been open source, this would be much more feasible.

Memory organization, for example, is controlled by the kernel. If a game uses an optimization such as an exact jump to cycle off of a page, you would need the kernel to be setup exactly as the consoles. This would require intense reverse engineering on already locked down code.
>>
>>383695436
there are some emulators for old consoles trying to achieve perfect emulation, thus using even more cpu to synchronise stuff perfectly, there was an article about this but i don't remember where
>>
File: 14COhR2h.jpg (19KB, 512x512px) Image search: [Google]
14COhR2h.jpg
19KB, 512x512px
>>383695318
>buy lackluster 20-30 year old games and systems, peripherals, CRT for thousands of dollars and wire it all up

>download for free, emulate or burn it if you own the system
>>
>>383695436
You're not wrong in that assumption. However, raw computing power doesn't mean jack when the instructions being interpretated are in a "foreign language". You have to create an entire environment to simulate what emulator developers' best guess for how these games should be running.
Its a lot of work to even have a functional emulator, much less one that has a complete 1:1 conversation for instructions. There's always going to be some level of middle work that grows exponentially for more complicated consoles.
>>
>>383695670
>>>buy lackluster 20-30 year old games and systems, peripherals, CRT for thousands of dollars and wire it all up
Even today, 500 bucks would literally get you every single major system, and every single game for all those systems. Cut out some of the garbage consoles and you're looking at maybe 250 bucks.

Emulation is fine, but it's just not as good. There's a lot of shit you still can't even emulate, a lot of consoles with major issues like N64 and PS2, and a lot of games that either look a million times better on a proper CRT, or can't even be played without one like light gun games.
>>
File: pcsx2 2016-11-13 21-44-39-94.jpg (209KB, 1920x1080px) Image search: [Google]
pcsx2 2016-11-13 21-44-39-94.jpg
209KB, 1920x1080px
>>383694594
makes sense
>>
>>383694335
because pretending is hard, just like all of you /v/ermins pretending to hate games
>>
>>383695987
>major issues like N64 and PS2,
Don't exaggerate and you can plug your PC into a CRT just fine.
>>
>>383695987
500 bucks wouldn't get you Earthbound and Panzer Dragoon Saga, let alone "every game"
>>
>>383695987
I know. My vidya days ended with the 6th console gen I'd say.
I have a geforce 1070 so I dabble still here and there, but I mainly play SNES,Genesis,PSX,N64 and GBA titles.
>>
>>383694520
This is why PC will never be able to run PS3 games properly. The Cell Processor was developed by Sony themselves and is vastly superior to any part you'll find running in a modern PC. Unfortunately (((devs))) cried about it and now instead of advancement in technology we're stuck with inferior PC CPUs.
>>
>>383694335
because emulation is a comprehensive process, the CPU has to basically rewrite everything the host system does to the emulated system, then the program runs on top of that.
Poor coding makes this all worse.
>>
>>383696415
>PS3
>games
t.ex sonyfag
>>
File: ultrawide_NiNoKuni.jpg (854KB, 2560x2160px) Image search: [Google]
ultrawide_NiNoKuni.jpg
854KB, 2560x2160px
>>383696415
Good thing PC can run the games superiorly though huh.
>>
>>383696415
>he missed the memo
PS3 emulation is blazing in progress, it's unironically better than Cemu.
>>
>>383696415
GPGPUs should actually be able to do a decent job of emulating the Cell.
>>
>>383695436
Yes, and?
A chip just works a certain way.
Emulating a chip can mean anything.

Let's take a simple example.
You hava a capacitor.
If the capacitor is real hardware, you just send voltage to it at a given time, and it outputs other voltage at any other given time.
If the capacitor is not real hardware, and you want simulate the exact same behaviour, you need to solve a differential equation numerically with steps small enough for it to converge at the same solution as the real one with an arbitriraly defined small margen of error.
>>
>>383694335
because when you emulate the PC is simulating another hardware and simulation is usually done by the CPU.

When you simulate the machine obviously have to follow an order of instructions and between the CPU and GPU only the former is good at sequential processing while the GPU is for parallel workloads.
>>
>>383696705
GPGPUs are basically a GPU cluster doing the CPU's job, right?
t.dumbshit
Why is this not a thing yet?
>>
>>383695650

https://arstechnica.com/gaming/2011/08/accuracy-takes-power-one-mans-3ghz-quest-to-build-a-perfect-snes-emulator/3/

I remember reading something else about a guy building a circuit perfect Atari emulation. Couldnt find it though
>>
>>383696835
More or less, yeah.
Put simply, GPUs are good at doing a huge number of simple things simultaneously, while CPUs are much better at doing complex things in order and making decisions.

The SPEs which made the Cell processor unique work more like the compute units of a GPU than a core of a CPU.
>>
>>383694335
I would assume because some of the consoles you're trying to emulate are so different to a pc hardware wise that it has trouble trying to emulate those conditions.
>>
>>383694335
You have to convert the instruction set to something you computer can understand.
>>
>>383694594
underfuckingrated
>>
>>383695987
>500 bucks
I have all the consoles I used to play with as a child, but I still have many games I never played, emulated. It's more useful than paying top dollar for a """rare""" copy of an old game.
>>383696697
>blazing
I don't think that's the right term to use for something being carried out by one man.
>>
I hate how consoles ditched the concept of backwards compatibility after 6th gen.
>you better pay for them sweet PSX games on our online service
>>
>>383696835
A truck has a higher horsepower than a race car, but would still lose in a race.
A GPU has a lot of processing power, but it's only suited for tasks which can run parallel in 1000+ "threads" (like calculating each pixel for an image).

Most general applications which aren't graphics related usually rely on instructions running in sequence after each other rather than in parallel, since each instruction needs the result of the previous one before it can be started. For programs which can only run in a single thread or two, CPUs are much, much faster than a GPU.
>>
>>383694335
because you run a OS plus applications on hardware that aid programs where not optimised program and coded for.
>>
>>383694335
As in why CPU instead of GPU?

When running emulation software you have to basically run not only all of the software layer that the original console is supposed to run (OS kernel, respond to syscalls, etc.) but you also have to emulate (hence the term) all of the hardware layer of the console (chipsets, GPU, general I/O, etc.). This task is generally better treated on a CPU which is generally closer to the instruction sets used on those chipsets and is better suited for this (less focus on paralellism and more on complex instructions).
In contrast to GPU which are generally suited for running simple instructions on parallel in orders of magnitudes higher than CPU (GPUs have thousands of cores designed for this). This doesn't mean that emulators cannot benefit from GPUs, all of the graphics layer of a console is effectively "translated" so that GPUs can execute them, and with the emergence of general purpose computation in GPUs (OpenCL and CUDA) more optimizations have appeared for running dynamic recompilation rutines in GPU instead of CPU.

tl;dr: CPUs are better suited for the tasks of emulation but GPUs are also necessary and they are being used more and more.
>>
>>383696139
>>383697387
Flashcarts and modchips, retards.
>>
>>383698370
Those still won't let you play the special chip games like Star Fox, Super Mario RPG, or Yoshi's Island
>>
>>383694335
Emulating something else is always very taxing. Just think about how much work it would be if you were to emulate someone else. You'd have to copy all their memories and mannerisms and try to be exactly like them. The human brain can't even handle something like multiple personalities. That's essentially what emulation is in a nutshell
>>
File: 1485917455816.jpg (54KB, 462x491px) Image search: [Google]
1485917455816.jpg
54KB, 462x491px
Emulation threads are always so informative, I feel like a tech genius now.

Also it's full of analogies.
>>
File: 1487476028135.jpg (23KB, 469x357px) Image search: [Google]
1487476028135.jpg
23KB, 469x357px
>>383696531
redpill me on ultrawide /v/
>>
>>383698695
At least it's not food analogies.
>>
>>383694520
>>383694869
>>383695181
>>383696415

The scary thing is that these people might actually be serious about believing this
>>
>>383694335
Emulator devs don't have access to the source code/drivers, so they have to make their own that mimics what the game requires. To do that, the cpu has to decode what the game wants, process all that information, and then spit it out the way the game needs so it doesn't just crash on the next button you use.
>>
>>383699869
Do you think emulation will become a business eventually?
I'm honestly afraid for my pirate future.
>>
File: 300px-Xmatrix.png (112KB, 300x225px) Image search: [Google]
300px-Xmatrix.png
112KB, 300x225px
>>383694335
computers simulating computers
>>
>>383700068
Fuck off, me
>>
>>383695148
>rhetoric
>>
>>383694520
This statement reaches new levels of retarded.
>>
when you have to deconstruct calls made by the game, those calls were originally meant to be executed in a time cycle, but in another architecture they cant be done "that fast" because that cpu is built to support many more instructions and therefore have a more complex set of commands and command line. You cant replicate a 1:1 cycle but maybe a 1:11. Which means, even your cpu is far superior, it has to execute 11 instructions and decodes for every game call.

Now imagine that while emulating a console we dont even know the instruction set and the internal virtual arquitecture.

Complex computing mixed with guessing. Thats why you need a high end i7 to emulate a virtual cell unit.
>>
>>383694335
because you're using software to emulate hardware, noob
>>
>>383700694
That might be true if most emulators ran on the basis of an interpeter (what you are describing, processing every opcode instruction by instruction). However most emulators use dynamic recompilation (dynarec), which basically "reads ahead" a chunk of instructions, derives it's meaning and translates it to a more efficient set of instructions that your CPU can handle quickly. This results in quicker emulation but often comes with inaccuracies as the read ahead process is not perfect.

An example of this:
Suppose that the a program in an architecture A reads as sum 1 to register EAX 11 times. A dynamic recompilator in architecture B could read this code and inmediately add 11 to its simulated EAX register. Thus saving computation for other instructions to be processed.
>>
File: Marinesheet.gif (42KB, 477x432px) Image search: [Google]
Marinesheet.gif
42KB, 477x432px
This thread is comfy as fuck.
>>
>>383700019
The companies who make the consoles being emulated would put a stop to that, at the very least. They're not going to allow emulation when they can create a new way for you buy old games (and in the virtual console's case, again and again per each new system). Only a small section of people use backwards compatibility or buy old games through current hardware, but they're still going to want to have control over their stuff, partly just because and partly if that ever changes.
>>
>>383698920
Ultrawide is pretty great, but I wouldn't recommend it as a main monitor simply because not every game supports it. It's excellent to have a second monitor, though.
>>
>>383694520
Include me in the screencap
>>
>>383694335
Because u are trying to emulate PHYSICAL HARDWARE on software. Which is already using hardware to do so. So ure essentially requiring double the cpu od the console ure trying to emulate
Thread posts: 80
Thread images: 12


[Boards: 3 / a / aco / adv / an / asp / b / bant / biz / c / can / cgl / ck / cm / co / cock / d / diy / e / fa / fap / fit / fitlit / g / gd / gif / h / hc / his / hm / hr / i / ic / int / jp / k / lgbt / lit / m / mlp / mlpol / mo / mtv / mu / n / news / o / out / outsoc / p / po / pol / qa / qst / r / r9k / s / s4s / sci / soc / sp / spa / t / tg / toy / trash / trv / tv / u / v / vg / vint / vip / vp / vr / w / wg / wsg / wsr / x / y] [Search | Top | Home]

I'm aware that Imgur.com will stop allowing adult images since 15th of May. I'm taking actions to backup as much data as possible.
Read more on this topic here - https://archived.moe/talk/thread/1694/


If you need a post removed click on it's [Report] button and follow the instruction.
DMCA Content Takedown via dmca.com
All images are hosted on imgur.com.
If you like this website please support us by donating with Bitcoins at 16mKtbZiwW52BLkibtCr8jUg2KVUMTxVQ5
All trademarks and copyrights on this page are owned by their respective parties.
Images uploaded are the responsibility of the Poster. Comments are owned by the Poster.
This is a 4chan archive - all of the content originated from that site.
This means that RandomArchive shows their content, archived.
If you need information for a Poster - contact them.