Computer specifications

From Emulation General Wiki
Revision as of 14:29, 12 April 2019 by Windows Whistler (talk | contribs) (Undo revision 29273 by 92.211.5.44 (talk) STOP IT'S FUCKING PS1. PSX IS NOT A CONSOLE.)
Jump to navigation Jump to search

Most emulators tend to be CPU-dependent in general, meaning that their performance is greatly affected by the CPU's speed. The GPU on the other hand, mostly serves as a graphics enhancer by allowing for higher resolutions, anti-aliasing, etc. 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 1200 or better is recommended for high-end emulation (e.g. PS2, Wii). This page will explain and state other possible choices to take, provided that the above choices are not feasible.

CPU

Megahertz Myth

Whenever a CPU has a high clock speed (Pentium 4 672 @ 3.8 GHz), it does not always necessarily mean that it is powerful.[1] This is usually a common misconception, that stems from lack of detailed information on how a CPU works. However, it is true that a higher CPU clock speed guarantees improved emulation performance. While it is true that a high clock speed is one of the main factors for good CPU performance, it is not always the sole determining factor. For example, a Core 2 Duo E6600 @ 2.4GHz will nearly always outperform a Pentium D 940 @ 3.2GHz.[2] Even though the Pentium D 940 is clocked significantly higher, the Core 2 Duo E6600 is faster due to the reduced amount of pipeline stages and a wider execution unit. This improves the amount of instructions it can output per cycle, which means better performance at a lower clock speed. In other words, the particular architecture of the CPU itself matters more than the clock speed.

AMD's Bulldozer-derived CPUs also follows the aforementioned Pentium 4 (NetBurst) example, which has the same issue that the NetBurst-derived CPUs suffer from. They also similarly share the same high clock speed traits, which might cause confusion and misleading performance conclusions. Because of this, it is therefore recommended to completely avoid Bulldozer at all costs. The single-threaded performance of Bulldozer is somewhat slower when compared to an equally-clocked Phenom II or a Core 2,[3] though the multi-threaded performance of Bulldozer far exceeds the fastest Phenom II or Core 2 offerings.[4] The real problem here is Bulldozer's under-average single-threaded performance that will not help in high-end emulation that uses 4 or fewer cores, and the fact that Bulldozer has a shared FPU between 2 cores. What this means, is that a FX-4350 would have 2 FPUs (1 FPU per 2 cores), and a FX-9590 would have 4 FPUs (1 FPU per 2 cores x 4). This will lead to weaker performance in floating-point heavy calculations, and this is another reason why it is not recommended. If you are still not convinced, have a look at the benchmarks.[5][6][7][8][9][10][11][12][13][14]

AMD vs. Intel

As of Ryzen (Summit Ridge), AMD CPUs have similar single-threaded performance when compared to Intel CPUs [15], 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 remains a good choice for emulation.

Emulation on a non-x86 CPU

CPUs that are not x86-based, or are not ARM-based (phones can run emulators with varying degrees of success), are very likely to not be good enough for emulation in general. Certain emulators have been ported or programmed for some CPUs that are not ARM or x86-based, but those are very old and are possibly no longer in active development. IBM PowerPC CPUs for example, had emulators ported for it. However, these are rather outdated emulators and are not recommended for emulation.

Some specific CPU architectures such as the SPARC, MIPS, IA-64 (Itanium), Alpha, and PA-RISC, are heavily discouraged for emulation. This is due to the lack of support for them; although the MIPS architecture may be capable of running a few emulators native to them. Some of them may be capable of running x86 emulators, but that depends on their software or hardware code-translation capabilities, in which the Itanium does have (but it's very weak). Emulators that are native to them are extremely hard to find, or non-existent. Therefore, it is recommended to avoid these CPUs in any way possible.

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. Be aware that some laptops might come with the same CPU, but their cooling systems vary from atrocious to good. This means that even the same CPU in two different laptops would yield different results. As such, it is recommended to pick a laptop with a decent cooling system for emulation. Therefore, it is suggested to research on the laptop CPU-of-choice's performance and the specific laptop's cooling system, before making the purchase.

More Cores and Threads

Emulators generally only utilize 2 cores, or with hacks, sometimes 3 or 4 cores. Thus, owning a CPU with 6 cores or more with Hyper-Threading/Simultaneous Multi-Threading, does not help or give the said CPU an advantage over a CPU with only 4 cores. Although, certain exceptions such as newer system emulators (e.g: RPCS3) can utilize more cores and threads by emulating the system's thread scheduler, which allows it to use as many cores and threads as much as the game makes threads.

While 2-core or 4-core CPUs with very high clock speeds are usually recommended for emulation, most CPUs nowadays feature more than 4 cores with even higher clock speeds. This in comparison to the previously released 6-core or 8-core CPUs with far lower clock speeds, is an improvement. Therefore, purchasing a 6-core or an 8-core CPU with said higher clock speeds would be fine, as it offers no performance reduction over a similarly clocked 2-core or 4-core CPU.

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 manufactured 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. For AMD CPUs, their overclocking labels are FX and Black Edition.

Although, some special CPUs such as the Pentium G3258 and any Ryzen are overclockable. But keep in mind that you have to 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 a 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 does not officially support overclocking, it may be possible to overclock it in a different manner or method.

A common method to overclock your laptop's CPU is to use 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

DEmul

Minimum
  • Windows: Vista with Service Pack 2 (32-bit) or later
  • CPU: Intel Core i5-2500K @ 3.4 GHz or AMD Ryzen 3 1200 @ 3.1 GHz or better
  • GPU: NVIDIA GeForce GT 420 or AMD Radeon HD 7470 or better
  • RAM: 3 GB or more
Recommended
  • Windows: 7 with Service Pack 1 (32-bit) or later
  • CPU: Intel Core i5-3570K @ 3.6 GHz or AMD Ryzen 3 1300X @ 3.6 GHz or better
  • GPU: NVIDIA GeForce GTX 680 or AMD Radeon R9 280X or better
  • RAM: 4 GB or more

Phoenix

Minimum
  • Windows: XP with Service Pack 3 (32-bit) or later
  • macOS: Snow Leopard (10.6) (32-bit) or later
  • Linux: Distributions using kernel 3.13 (32-bit) or later
  • CPU: Intel Pentium 4 570 @ 3.8 GHz or AMD Athlon 64 4000+ @ 2.4 GHz or better
  • GPU: NVIDIA GeForce FX 5100 or ATI Radeon 9550 or Intel GMA 900 or S3 GammaChrome S14 or better
  • RAM: 1 GB or more
Recommended
  • Windows: XP Professional x64 with Service Pack 2 (64-bit) or later
  • macOS: Snow Leopard (10.6.8) (64-bit) or later
  • Linux: Distributions using kernel 3.18.124 (64-bit) or later
  • CPU: Intel Core 2 Duo E8400 @ 3 GHz or AMD Athlon 64 X2 6400+ @ 3.2 GHz or better
  • RAM: 2 GB or more

Cxbx-Reloaded

Minimum
  • Windows: 7 with Service Pack 1 (64-bit) or later
  • CPU: Intel Core 2 Duo E6700 @ 2.66 GHz or AMD Athlon 64 X2 5000+ @ 2.6 GHz or better
  • GPU: NVIDIA GeForce 8300 GS or ATI Radeon HD 2350 PRO or Intel HD Graphics 2500 or better
  • RAM: 2 GB or more
Recommended
  • CPU: Intel Core 2 Duo E8400 @ 3 GHz or AMD Phenom II X2 545 @ 3 GHz or better
  • GPU: NVIDIA GeForce GT 120 or ATI Radeon HD 2600 XT or Intel HD Graphics 3000 or better
  • RAM: 4 GB or more

RPCS3

Minimum
  • Windows: 7 with Service Pack 1 (64-bit) or later
  • Linux: Distributions using kernel 3.18.124 (64-bit) or later
  • CPU: Intel Core 2 Extreme QX9770 @ 3.2 GHz or AMD Phenom II X4 955 Black Edition @ 3.2 GHz or better
  • GPU: NVIDIA GeForce GT 420 or AMD Radeon HD 7470 or better
  • RAM: 4 GB or more
Recommended
  • Linux: Distributions using kernel 4.0 (64-bit) or later
  • CPU: Intel Core i5-2500K @ 3.4 GHz or AMD Ryzen 3 1200 @ 3.1 GHz or better
  • GPU: NVIDIA GeForce GTX 650 or AMD Radeon HD 7750 or better
  • RAM: 6 GB or more

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

PCSX2

Minimum
  • Windows: XP with Service Pack 3 (32-bit) or later
  • macOS: Snow Leopard (10.6.3) (32-bit) or later
  • Linux: Distributions using kernel 3.2 (32-bit) 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 3870 or better
  • RAM: 2 GB or more
Recommended
  • Windows: Vista with Service Pack 2 (32-bit) or later
  • macOS: Snow Leopard (10.6.8) (32-bit) or later
  • Linux: Distributions using kernel 3.18.124 (32-bit) or later
  • CPU: Intel Core i5-2500K @ 3.4 GHz or AMD Ryzen 3 1200 @ 3.1 GHz or better
  • GPU: NVIDIA GeForce GTX 650 or ATI Radeon HD 5830 or better
  • RAM: 4 GB or more

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

Mednafen PS1

Minimum
  • Windows: XP with Service Pack 3 (32-bit) or later
  • Linux: Distributions using kernel 2.6 (32-bit) or later
  • CPU: Intel Core 2 Duo E8400 @ 3 GHz or AMD Phenom II X2 545 @ 3 GHz or better
  • GPU: NVIDIA GeForce FX 5100 or ATI Radeon 9550 or Intel GMA 900 or S3 GammaChrome S14 or better
  • RAM: 1 GB or more
Recommended
  • Windows: XP Professional x64 with Service Pack 2 (64-bit) or later
  • Linux: Distributions using kernel 2.6.39.4 (64-bit) 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 8300 GS or ATI Radeon HD 2350 PRO or Intel HD Graphics 2500 or better
  • RAM: 2 GB or more

PPSSPP

Minimum
  • Windows: XP with Service Pack 3 (32-bit) or later
  • macOS: Mountain Lion (10.8) (32-bit) or later
  • Linux: Distributions using kernel 2.6.39.4 (32-bit) or later
  • CPU: Intel Pentium 4 3.4C (Northwood) @ 3.4 GHz or AMD Athlon 64 3000+ (Clawhammer) @ 2 GHz or better
  • GPU: NVIDIA GeForce FX 5100 or ATI Radeon 9550 or Intel GMA 3000 or S3 Chrome S25 or better
  • RAM: 1 GB or more
Recommended
  • CPU: Intel Pentium D 960 @ 3.6 GHz or AMD Athlon 64 X2 4000+ (Windsor) @ 2 GHz or better
  • GPU: NVIDIA GeForce 6200 or ATI Radeon HD 2350 PRO or Intel GMA 4500 or S3 Chrome 430 GT or better
  • RAM: 2 GB or more

Enable the dynarec option for speedups.

Cemu

Minimum
  • Windows: 7 with Service Pack 1 (64-bit) or later
  • CPU: Intel Core i7-970 @ 3.33 GHz or AMD Ryzen 5 1400 @ 3.2 GHz or better
  • GPU: NVIDIA GeForce GTS 450 or AMD Radeon HD 7730 or better
  • RAM: 4 GB or more
Recommended
  • CPU: Intel Core i7-5930K @ 3.6 GHz or AMD Ryzen 5 1600X @ 3.6 GHz or better
  • GPU: NVIDIA GeForce GTX 750 Ti or AMD Radeon R7 360 or better
  • RAM: 8 GB or more

Dolphin

Minimum
  • Windows: 7 with Service Pack 1 (64-bit) or later
  • macOS: Yosemite (10.10) (64-bit) or later
  • Linux: Distributions using kernel 4.4.6 (64-bit) or later
  • CPU: Intel Core 2 Extreme QX9770 @ 3.2 GHz or AMD Phenom II X4 955 Black Edition @ 3.2 GHz or better
  • GPU: NVIDIA GeForce GTX 460 or AMD Radeon HD 7770 or better
  • RAM: 2 GB or more
Recommended
  • Linux: Distributions using kernel 4.4.161 (64-bit) or later
  • CPU: Intel Core i5-2500K @ 3.4 GHz or AMD Ryzen 3 1200 @ 3.1 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.

Mupen64Plus

Minimum
  • Windows: XP with Service Pack 3 (32-bit) (needs msvcp120.dll and msvcr120.dll in the program's directory to run, also applies for XP Pro x64/64-bit) or later
  • macOS: Snow Leopard (10.6) (64-bit) or later
  • Linux: Distributions using kernel 2.6 (32-bit) or later
  • CPU: Intel Pentium 4 570 @ 3.8 GHz or AMD Athlon 64 3800+ (Orleans) @ 2.4 GHz or better
  • GPU: NVIDIA GeForce2 Ultra or ATI Radeon 7200 or 3dfx Voodoo 5 5500 or better
  • RAM: 1 GB or more
Recommended
  • Windows: Vista with Service Pack 2 (32-bit) or later
  • macOS: Snow Leopard (10.6.8) (64-bit) or later
  • Linux: Distributions using kernel 2.6.39.4 (32-bit) or later
  • CPU: Intel Core 2 Duo E6550 @ 2.33 GHz or AMD Athlon X2 5600 @ 2.3 GHz or better
  • RAM: 2 GB or more

DeSmuME

Minimum
  • Windows: XP with Service Pack 3 (32-bit) (needs msvcp100.dll and msvcr100.dll in the program's directory to run, proof also applies for XP Pro x64/64-bit) or later
  • macOS: Leopard (10.5.8) (32-bit) or later
  • Linux: Distributions using kernel 2.6 (32-bit) or later
  • CPU: Intel Core 2 Duo E4400 @ 2 GHz or AMD Athlon II X2 270u @ 2 GHz or better
  • GPU: NVIDIA GeForce2 MX100 or ATI Radeon 7000 or Intel Extreme Graphics 2 or 3dfx Voodoo4 4500 or PowerVR Series3 Kyro II or S3 DeltaChrome S4 or Trident XP4 or XGI Volari V3 or Matrox Millennium G400 or better
  • RAM: 1 GB or more
Recommended
  • Windows: Vista with Service Pack 2 (32-bit) or later
  • macOS: Snow Leopard (10.6.8) (32-bit) or later
  • Linux: Distributions using kernel 2.6.39.4 (32-bit) or later
  • 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 Intel HD Graphics 2500 or better
  • RAM: 2 GB or more

Enable the dynarec option for speedups.

mGBA

Minimum
  • Windows: XP with Service Pack 3 (32-bit) or later (Libretro core only. The standalone executable cannot be ran under any version of XP, due to a missing Direct3DCreate9Ex function in XP's d3d9.dll)
  • macOS: Leopard (10.5) (32-bit) or later
  • Linux: Distributions using kernel 2.6 (32-bit) or later
  • CPU: Intel Atom 230 @ 1.6 GHz or AMD Geode NX 1750+ @ 1.4 GHz or VIA C7 1.6 @ 1.6 GHz or Transmeta Efficeon TM8800 @ 1.6 GHz or better
  • GPU: NVIDIA GeForce 256 SDR or ATI Radeon 7000 or 3dfx Voodoo3 1000 or Intel Extreme Graphics or Matrox Millennium G400 or better
  • RAM: 1 GB or more
Recommended
  • Windows: Vista with Service Pack 2 (32-bit) or later
  • macOS: Lion (10.7) (32-bit) or later
  • Linux: Distributions using kernel 2.6.39.4 (32-bit) or later
  • CPU: Intel Pentium 4 3.0A (Northwood) @ 3 GHz or AMD Athlon XP 2900+ @ 2 GHz
  • RAM: 2 GB or more

BGB

Minimum
  • Windows: 98 (16-bit/32-bit hybrid) or later
  • CPU: Intel Pentium MMX (P55C) @ 200 MHz or AMD K6 (Little Foot) @ 233 MHz or Cyrix 6x86MX PR366 @ 250 MHz or IDT WinChip 240 (C6) @ 240 MHz or Rise mP6 PR366 @ 250 MHz or better
  • GPU: NVIDIA GeForce 256 SDR or ATI Radeon 7000 or 3dfx Voodoo4 4500 or Intel Extreme Graphics or Matrox Millennium P650 or better
  • RAM: 128 MB or more
Recommended
  • Windows: 2000 with Service Pack 4 (32-bit) or later
  • CPU: Intel Pentium 2 450 @ 450 MHz or AMD K6-2 550 @ 550 MHz or Transmeta Crusoe TM5400 @ 700 MHz or VIA C3-800 (Samuel 2) @ 800 MHz or better
  • RAM: 256 MB or more

higan

Minimum
  • Windows: 7 with Service Pack 1 (32-bit) or later
  • macOS: Lion (10.7) (32-bit) or later
  • Linux: Distributions using kernel 3.2 (32-bit) 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 FX 5100 or ATI Radeon 9550 or Intel GMA 900 or S3 GammaChrome S14 or better
  • RAM: 2 GB or more
Recommended
  • Windows: 7 with Service Pack 1 (64-bit) or later
  • Linux: Distributions using kernel 3.18.124 (64-bit) or later
  • CPU: Intel Core i3-2153 @ 3.6 GHz or AMD Athlon 220GE @ 3.4 GHz or better
  • GPU: NVIDIA GeForce 8300 GS or ATI Radeon HD 2350 PRO or Intel HD Graphics 2500 or better
  • RAM: 4 GB or more

References