This is a document designed to help one troubleshoot computer issues. Getting Dolphin running smoothly can be complicated and problems may be software-based or hardware-based. We will go over the technical reasons why you might be experiencing lag and what you might do at any point to troubleshoot. If you feel your issues may be Internet-related, please check out the sister guide. If you have desync and you think that computer-related issues are the cause of the desync, this is not correct.
Computer Type
It is highly recommended to use a desktop computer. Laptop computers have significantly weaker hardware and are significantly more expensive to make Dolphin smoothly runnable than desktop components are. Additionally, laptop software comes with specifically different power management policies than desktop software which can get in the way of performance. It's also the case that laptops are notoriously bad at managing heat and this damages components far more quickly than desktop components and the hardware degrades on much more notable scales - assuming you can get the raw performance of the hardware in the first place. If you are experiencing new performance problems and did not before, this may be why.
If you must use a laptop, you should familiarize yourself with the power options of your operating system and keep it plugged in during use.
Hard Drive
This one is fairly simple to diagnose and troubleshoot. If you have a slow hard drive, you'll notice skips and choppiness when things are loading for the first time, be they screens or stages or character moves. A magnetic hard drive of 7200 RPM or more or any solid state drive (SSD) is recommended. Magnetic drives of 5400 RPM or fewer are only common on laptops and portable HDs.
On Windows, you can open up the Device Manager to see which hard drives you have under "Disk drives." Typically hard drives will be displayed with a model number which you can then put into a search engine to determine its specifications. For example, I have a WDC WD10EZEX-00BN5A0 drive. The specifications indicate that it is 7200 RPM.
Hard drives that are fast enough may stop functioning correctly and this is a bit more complicated to diagnose and troubleshoot depending on the sort of malfunction. The first step on Windows is to run chkdsk /B /X [drive letter]:. If it is your main drive, it will probably ask you to reboot to do the check and you should agree. It will be unavailable for the duration of the check which may be a long time depending on the size of the drive and what sort of problems may be present. For larger drives and certain performance problems, you should expect this to take days.
If you are still experiencing abnormally slow access and the chkdsk reports that the drive is okay, this means that you have something seriously wrong with the drive and it needs to be replaced.
RAM
Modern RAM of any speed/timings/size should not be an issue regardless of whether it's desktop or laptop RAM. Dolphin uses less than 1GB of RAM even at the most memory-strenuous times. Supposing that you don't have 1GB, Windows has a feature enabled by default (regardless of how much RAM) called virtual memory, also known as the "swapfile" or "pagefile." This uses HD space as RAM which is, as you might have guessed, slower than RAM. However as long as you have a quick enough HD, it's indistinguishable on human scales. The virtual memory is sized depending on the size of the HD and is typically quite a lot of extra RAM.
If you suspect that you have a problem with the RAM or want to eliminate it as a possible issue, you'll want to find your RAM slots (which may be a bit different on laptops) and test single sticks at a time until you find the culprit(s) or find that there are no changes in performance behavior. If you have 16GB or more of physical RAM, you can disable the virtual memory. This would eliminate the HD as a possible source of the problem. You can tell how much RAM you have by opening the system information utility.
Graphics Processing Unit (GPU)
This is not nearly as important for running Dolphin smoothly as you would expect. It is critically important if you plan on streaming. A GPU can be integrated into your main CPU (and indeed, most processors today come with an integrated GPU) or you can have a separate video card. For the purposes of streaming, a separate video card is recommended. If you only intend on running Dolphin, you can get by with an integrated GPU on most modern CPU hardware.
If you're using integrated for desktops, an Intel Core i5 or i7 4th generation/newer or AMD Ryzen CPU with graphics capability are recommended. For laptops, the most modern CPUs with graphics capability are recommended.
If you're using a separate video card, any desktop card made in the last 5 years will be fine. Any laptop card made in the last 2-3 years should be fine.
GPU problems are almost exclusively the result of heat and you can use monitoring software to view the temperatures. Temperatures in excess of 75°C (~170°F) are considered poor temperatures and temperatures in excess of 90°C (~195°F) are considered critical. You may need to look into improving the cooling or if the GPU is damaged enough from the existing heat problem, replacement.
Central Processing Unit (CPU)
This is the most important component to emulation because all emulation processing is done on the CPU. Only the graphics get shuffled off to the GPU. Everything else is done on CPU.
It is recommended to have the most powerful CPU available, but desktop CPUs as old as Intel Core i5 of 2nd generation or Intel Core i7 of 1st generation will be powerful enough to support Dolphin. I would consider these the minimum baseline. For laptops, you'll want an Intel Core i5 or i7 4th generation/newer processor. You should look specifically at the single-threaded performance and you'll want a value of 1900 or above.
If your hardware is good enough, it's likely that the problem is in the software rather than the hardware. Having a good CPU does not alone mean that you will not have frame drops. This is a complex subject, but the essence of it is that modern operating systems schedule execution for every process on the machine. As such, there are two conditions where Dolphin may not be getting the CPU resources it needs even if you have a very good CPU.
- There is not enough CPU to go around on the system.
This is common if you are streaming on CPU instead of GPU or otherwise running multiple things at once. If this is the case, there is nothing you can do to solve the lag except close the other applications. - There is enough CPU to go around, but the OS does not allocate the proper amount to Dolphin.
This can happen if other programs are higher priority or if there are simply other programs nipping away at CPU on the same processor cores. This will cause small frame drops and can be mitigated by increasing Dolphin's process priority to Above Normal (and specifically Above Normal, High and Realtime are special to the operating system) via Task Manager on Windows or some equivalent on other operating systems. I recommend increasing Dolphin's priority every time you play as a matter of course. Increasing the internal resolution in the graphics settings increases the CPU usage by a large amount, so if you've done this, try setting the internal resolution to 1x to see if that helps.
On Windows, the Task Manager is a great resource for assessing and correcting these issues. You can typically tell when local lag is present by seeing huge (30ms+) spikes in "ping" in the netplay lobby. This is due to the fact that Dolphin needs proper CPU resources for its ping computation, so if it doesn't have the resources, it will not accurately represent the pings. That ping spike does not necessarily mean that the connection is the culprit, although it could be.
You can figure out how many cores you have by looking at the Performance tab in Task Manager. If you see Dolphin's CPU amount butting up against 100% divided by the quantity of cores (so for 4 cores, 25%, 6 cores, 16.67%, 8 cores, 12.5%, etc.), you can be reasonably sure that there's a performance problem.
Your opponent's local lag will affect you and your local lag will affect them. The important part is that you do not assume that your hardware is good, therefore it cannot be you. Always be sure to check your local system even if you don't think you're running anything else. The best thing you can do is familiarize yourself with the typical number of processes you should be seeing in the Task Manager and figure out which ones are necessary and remove any others while you're playing.
Operating System
On Windows, you'll want to make sure that you're only running the baseline necessary services.
For a reference, you can check out Windows 7, Windows 8.1, or Windows 10. You'll also want to make sure that it doesn't start doing updates while you're playing or other background functionality that's expensive.
On Windows, it is recommended to set Dolphin's process priority to Above Normal using the Task Manager. Process Lasso can watch your processes and do this automatically every time you launch Dolphin. You might be tempted to set it to High or Realtime priority, but this is not a good idea. Realtime priority is considered special by the system and will starve basic system services like keyboard input, sound, etc. as long as Dolphin is running. It may also apply to USB communication. High is not quite as severe but it's still special to the operating system and can starve other programs of resources. Above Normal is the highest not special process priority.
Dolphin
Dolphin will cache graphics information and as a result, changing graphics drivers or display interfaces (i.e. getting a different graphics card or switching between integrated/graphics card) will cause the cache to become outdated. This typically comes with performance issues. To reset your cache, make sure Dolphin is closed and find your Dolphin executable directory. After you're there, navigate to the User folder and then to the Cache folder. All folders and files in this folder can be deleted. You will need to rebuild the cache which will cause intermittent skipping, but this should ultimately solve any performance problem caused by the cache.
Internal resolution will significantly increase the CPU demand of Dolphin (Graphics Configuration -> Enhancements (first tab) -> Internal Resolution). This should be set to 1x if you're experiencing or might be experiencing performance problems. It is recommended to have this be set to 1x all the time on laptops.
If Dolphin is crashing before showing the games list, try unplugging and plugging your adapter back in.
OBS
OBS can and should be configured to stream to GPU. This will lift nearly all of the effort of streaming off the CPU and on to the GPU, leaving the CPU for emulation.
In OBS classic, you'll need a specific build for AMD GPUs. For Intel or nVidia GPUs, Settings > Encoding > Video Encoding > Encoder should be set to "Quick Sync" or "Nvidia NVENC" respectively.
In OBS Studio, Settings > Output > Streaming > Encoder should be set to QuickSync H.264 for Intel or NVENC H.264 for nVidia. I'm not sure what the AMD variant is but it should also be set at this spot.
The bitrate should also be as high as your connection can tolerate up to the maximum of the streaming service. For example, you can follow the Twitch guidelines for streaming on Twitch. Most streaming services will have some similar recommendations.
Note that frequently these things are rated in Kbps which is kilobits per second. Connections are generally marketed in megabits per second as well, so make sure you're familiar with these speed ratings and how they convert and compare. When you're shown download speeds i.e. within a browser, it's in kilobytes per second or megabytes per second (or kilobibytes and megabibytes depending on how modern the software is). For historical reasons, software may indicate the unit as KB/s or MB/s and actually mean the bibyte units (KiB/s and MiB/s). Don't use those numbers as a reference or convert those numbers to the appropriate units before using them as some kind of reference.