Computer specifications

From Emulation General Wiki
Revision as of 01:47, 15 October 2018 by 182.54.231.41 (talk)
Jump to navigation Jump to search

Generally, emulation mostly runs off the CPU. And the GPU allowing for higher resolutions, anti-aliasing, and so on. If your CPU isn't fast enough, you will most likely be not able to emulate a system at full speed. At the very least, a Core i5-2500K or a Ryzen 3 1300X or better is recommended for high-end emulation (e.g. PS2, Wii). This page will detail specific information for specific systems, provided that the above is not a viable option.

CPU

Megahertz Myth

Just because a CPU has a high clock speed (Pentium 4 HT 672 @ 3.8 GHz), doesn't necessarily mean that it is powerful.[1] For example, a Celeron D 365 @ 3.6 GHz is less powerful compared to a Celeron E1600 @ 2.4 GHz. Most newer CPUs tend to perform better, though the particular architecture does matter determining its real-world performance. A common misconception is that a higher CPU clock speed guarantees improved emulation performance, which doesn't always apply. Although clock speed is one of the main factors for good CPU performance, it is not always the determining factor. For example, a Core 2 Duo E6600 @ 2.4GHz will always outperform a Pentium D 940 @ 3.2GHz. Even though the Pentium D 940 is clocked higher, the Core 2 Duo E6600 is still faster due to the reduced amount of pipeline stages and a wider execution unit. This improves the instructions-per-clock cycle performance it can output, which means better performance at a lower clock speed.

This comparison only points to AMD's Bulldozer microarchitecture versus Intel's Ivy Bridge microarchitecture, not currently: This is also true of many modern Intel vs AMD CPUs[2][3][4][5][6][7], as the high-end Intel CPUs are more efficient than the high-end AMD CPUs. Main reason for that is because Intel CPUs have higher performing floating-point units,[8][9] far greater cache/memory bandwidth/lower latency[10][11].

AMD vs. Intel

As of Ryzen (Summit Ridge), AMD CPUs have similar single-threaded performance when compared to Intel CPUs, though still not exactly close to an equivalent Intel CPU of the same era. Summit Ridge is slightly slower than an equivalent Kaby Lake in single-threaded applications, but it is a good choice for emulation.

Desktop vs. Laptop

Laptop CPUs are typically much weaker than their desktop variants due to being clocked lower, for battery conservation and heat management reasons. They may also have fewer cores than desktop CPUs with similar naming schemes, which may confuse you. Therefore, it is suggested to research on a mobile CPU's performance before purchasing a laptop that comes with the said CPU.

More Cores and Threads

Emulators generally only utilize 2 cores, or with hacks, sometimes 3 or 4 cores. Thus, owning a 6 or an 8-core CPU, or one equipped with Hyper-Threading/Simultaneous-Multithreading, won't benefit you anymore than having a similar quad-core CPU. Although, certain exceptions such as newer system emulators (e.g: RPCS3) can utilize more cores by emulating the system's thread scheduler, which allows it to use as many cores as a game makes threads.

Still, the general recommendation is to go for a higher-clocked 2/4/6-core CPU, as most emulators currently can not fully utilize 6 cores or more. Examples include the Core i3-7350K, Core i7-7740X, and the Core i7-8086K.

Overclocking

Not all CPUs can be overclocked, and the motherboard's BIOS must be additionally capable of supporting overclocking. The CPUs in particular that can be overclocked are the usually the ones that are labeled: OverDrive, FX, Extreme Edition, Black Edition, K, and X. Also, certain engineering or qualification sample CPUs that AMD or Intel has manufacturered may also be overclockable, since they were used for testing purposes and were not meant for sale. If you are not sure what kind of a CPU you have, check if it has these overclocking labels. For Intel CPUs, their overclocking labels are OverDrive, Extreme Edition, K, and X. And for AMD CPUs, their overclocking labels are FX, Black Edition, and X.

Although special processors such as the Pentium G3258 are overclockable; you must be running the CPU on a motherboard that supports overclocking. The motherboards that tend to support overclocking features, comes with a chipset that also supports overclocking, which is required for the CPU to be overclockable. However, this only applies to the newer motherboards, not the older motherboards as they tend to vary from being overclockable to not overclockable. For Intel, the overclockable chipsets' name starts with an X or a Z. The other chipsets that were not mentioned, are not overclockable (B, C, H, and Q). For AMD, the overclockable chipsets' name starts with an X or a B. The other chipsets that were not mentioned, are not overclockable (A).

For older desktop motherboards with older chipsets, there might be overclocking available in the form of a front-side bus setting. Use that setting with caution however, as the front-side bus clock speed gets raised, so does the rest of the other components on the motherboard (which causes instability, data corruption, etc). Unless the motherboard has a PCI/AGP lock, it is advised not to use the front-side bus setting to overclock the CPU. In further depth, there is safer setting that can be used to overclock without suffering from instability. Called the 'CPU BSEL Select' or similar, it was intended to manually select the proper front-side bus clock speed of the CPU. Though, by this, it allows us to exploit that feature and use it to overclock while staying within the factory specifications of the motherboard. This does not affect the rest of the other components on the motherboard, as the front-side bus is not overclocked and is only following the rated speeds it can achieve. Therefore, it is safer than the dangerous front-side bus setting. Also, be aware that once the CPU has hit a certain clock speed, it can no longer overclock due to voltage issues. The reasoning behind this is because of how higher clock speeds require more voltage, and these non-overclockable motherboards have a high chance of not having the ability to modify the input voltage to the CPU.

However, if there is no 'CPU BSEL Select', proceed with the front-side bus setting with caution. As a safety precaution, do whatever it takes to not allow the PCI bus' clock speed to reach above 40 MHz. As anything higher than the 40 MHz mark will have a very high chance of inducing instability and possible data corruption, or worse. This is why the front-side bus setting is only recommended for motherboards that are equipped with a PCI/AGP lock, since they prevent the other components on the motherboard from being overclocked. Also, be aware that your motherboard can only supply a limited amount of current before it hits its limits. This is due to the voltage regulator modules not being rated to supply a large amount of current to keep the CPU and the rest of the other components stable, which is common for motherboards that are not meant for overclocking. The CPU's potential overclock may also be limited by the power supply unit, so a better power supply unit with better efficiency and wattage rating may be required.

If you have a laptop, overclocking will be severely limited. Most laptops in circulation do not support overclocking, and may not be capable of handling the extra heat produced from an overclocked CPU. For the few laptops that can be overclocked through the BIOS, it is more or less the same as how a desktop would be configured to overclock the CPU. For the majority that do not officially support overclocking, it may be possible to overclock it in a different manner or method.

It is possible to overclock your laptop's CPU through third-party applications, such as ThrottleStop and CPUMSR. However, these applications only work with CPUs with an Extreme Edition/Black Edition/K/X label. Sometimes, special CPUs such as an engineering sample or a qualification sample may also be overclockable. And always remember this, do not overclock your laptop if you are not confident in its cooling system. If you are able to force the cooling system's fan to always run at its maximum speed, it is strongly recommended to do so. Avoid hitting temperatures higher than 100C/212F at all costs, even if the CPU is rated for a maximum of 105C/221F at the transistor-junction level.

For non-overclockable laptop CPUs, you might be able to overclock it in a different way. Certain third-party applications are capable of controlling a chip that generates the clock signal for the front-side bus' clock, which is called the phase-locked loop. This is extremely unsafe and may result in potential data corruption, as it follows the same principle of overclocking the front-side bus. All laptops in existence do not have a PCI/AGP lock either, so keeping the PCI bus below 40 MHz is advised. The applications that can control the phase-locked loop are: ClockGen, CPUCool, SetFSB, SoftFSB, SetPLL, and SysTool. However, there is a catch when using these mentioned programs; none of them supports every phase-locked loop in existence. Each one of them has a range of phase-locked loops they support, and you must use the correct matching program that has support for your phase-locked loop. There is also no auto-detection in these programs for the phase-locked loop, as they do not have a way to report their manufacturer and model name, so be careful when selecting the correct phase-locked loop that resides in your laptop.

GPU

GPUs are basically just hundreds of under-powered CPUs on the same die, or better described as a massively parallel CPU with a core count that far exceeds most traditional multi-core CPUs.

The thing is, with 3D graphics, you can split the work up into hundreds of different parts and give each piece to a different core on the GPU to work on. Since it doesn't matter which order the pixels are rendered in, as long as they all get rendered for the same frame before moving on to the next frame.

File compression/extraction and bitcoin mining are also good examples of programs that can make use of parallel processing. However, most programs can not do this. Dwarf Fortress, for example, can't make use of a graphics card. Because every calculation it does is dependent on the one performed before it. That obviously doesn't work if you try and do them all at the same time.

Pretty much any emulator is the same; it does not know what comes next until it has done what preceded it. It has to run off a single thread. It still needs some form of graphical output to output the final rendered 2D screen alone. This can be done via a GPU to put the 3D graphics on the screen, but any system capable of being emulated shouldn't be too taxing. This is called 'Hardware Rendering'. Alternatively, all of the graphics processing can be done on the CPU and will be more predictable/consistent for it, but that is also costly. This is called 'Software Rendering'.

Most 3D emulators have hardware and software renderers. Software renderers use more CPU power, which may mostly be slower. They may also run on their own threads separate from other emulator parts, which would likely reduce the performance loss, but the CPU must still be fast enough in the first place.

Recommended Specifications

PCSX2

Minimum
  • Windows: XP with Service Pack 3 or later
  • macOS: Snow Leopard (10.6.3) or later
  • CPU: Intel Core 2 Duo E8700 @ 3.5 GHz or AMD Phenom II X2 B60 @ 3.5 GHz or better
  • GPU: NVIDIA GeForce 8800 GT or ATI Radeon HD 5670 or better
  • RAM: 2 GB or more
Recommended
  • Windows: Vista with Service Pack 2 32-bit or later
  • macOS: Snow Leopard (10.6.8) or later
  • CPU: Intel Core i5-2500K @ 3.4 GHz or AMD Ryzen 3 1300X @ 3.6 GHz or better
  • GPU: NVIDIA GeForce GTX 650 or ATI Radeon HD 5700 or better
  • RAM: 4 GB or more

For information on DualShock 3 controller support, see SCP Driver Package.

Dolphin

Minimum
  • Windows: 7 with Service Pack 1 64-bit or later
  • macOS: Yosemite (10.10) or later
  • Ubuntu: Latest LTS or stable
  • CPU: Intel Core 2 Duo E8400 @ 3 GHz or AMD Phenom II X2 545 @ 3 GHz or better
  • GPU: NVIDIA GeForce 8800 Ultra or ATI Radeon HD 3870 or better
  • RAM: 2 GB or more
Recommended
  • CPU: Intel Core i5-2500K @ 3.4 GHz or AMD Ryzen 3 1300X @ 3.6 GHz or better
  • GPU: NVIDIA GeForce GTX 750 Ti or AMD Radeon R7 360 or better
  • RAM: 4 GB or more

See the Dolphin page for further recommendations, such as controller setups.

Mednafen PSX

Optimal
  • Windows: XP Professional x64 with Service Pack 2 (64-bit)
  • CPU: Intel Core 2 Duo E8400 @ 3 GHz or AMD Phenom II X2 545 @ 3 GHz or better
  • GPU: NVIDIA GeForce 8300 GS or ATI Radeon HD 2350 PRO or better
  • RAM: 1 GB or more
Recommended
  • CPU: Intel Core 2 Duo E8700 @ 3.5 GHz or AMD Phenom II X2 B60 @ 3.5 GHz or better
  • RAM: 2 GB or more

Higan

Optimal
  • Windows: 7 with Service Pack 1 32-bit
  • macOS: Lion (10.7) or later
  • Linux: Distributions using kernel 3.2 or later
  • CPU: Intel Core 2 Duo E8600 @ 3.33 GHz or AMD Phenom II X2 560 BE @ 3.3 GHz or better
  • GPU: NVIDIA GeForce 8300 GS or ATI Radeon HD 2350 PRO or better
  • RAM: 2 GB or more
Recommended
  • CPU: Intel Core i3-3250T @ 3 GHz or AMD Ryzen 3 1200 @ 3.1 GHz or better

DeSmuMe

  • Windows: Vista or later (XP with Service Pack 3 by placing msvcp100.dll and msvcr100.dll in program folder, proof)
  • macOS: Snow Leopard (10.6.8) or later
  • Linux: Distributions using kernel 2.6 or later
  • CPU: Intel Core 2 Duo E8400 @ 3 GHz or AMD Phenom II X2 545 @ 3 GHz or better
  • GPU: NVIDIA GeForce2 MX200 or ATI Radeon 7000 or Intel Extreme Graphics 2 or 3dfx Voodoo4 4500 or PowerVR Kyro II or S3 DeltaChrome S4 or Trident XP4 or XGI Volari V3 or Matrox Millennium G200 or better
  • RAM: 2 GB or more

Enable the dynarec option for speedups.

PPSSPP

  • Windows: XP with Service Pack 3 or later
  • macOS: Mountain Lion (10.7) or later
  • Linux: Distributions using kernel 2.6.32 or later
  • CPU: Intel Pentium 4 HT @ 3.4 GHz (Northwood) or AMD Athlon 64 3000+ (Clawhammer) @ 2 GHz or better
  • GPU: NVIDIA GeForce FX 5100 or ATI Radeon X1050 or Intel GMA 3000 or S3 Chrome S25 or better
  • RAM: 1 GB or more

Enable the dynarec option for speedups.

References