When I first installed it, I thought it was pretty pointless to try to optimize Windows 10. Of course, I installed it from scratch on a computer with an SSD and 16 gigs of RAM. Then I upgraded a couple of computers from Windows 7 to Windows 10, and I started to see why some people might not like Windows 10 all that much.
Upgraded systems almost always run slow, but I’d forgotten how much slower. And while you didn’t have to do much to Windows 7 to make it fast–that’s one reason people liked it–I find some Windows 10 optimization seems to be necessary.
Back in the Windows 98 days, I wrote the book on Windows optimization. Today, Windows is more efficient and hardware is orders of magnitude faster. There isn’t enough to say about Windows 10 to justify a 200-page book this time around. But there are still about 20 things you can do to really improve Windows 10’s performance. So here are a couple thousand words on how to optimize Windows 10.
These tricks range from really easy to really hard, but I think you’ll find they’re worth the effort. There’s a lot less effort involved than there was 18 years ago, which was the main beef people had with my book. It worked really well, but doing everything in the book took a while. With some skill, you can get this done in an hour or two. Maybe less.
Do a clean install
An upgrade install of Windows 10 can bring even an i5 CPU to its knees. Recover your Windows key with a tool like Nirsoft Produkey, download new Windows 10 media–be sure to get 64-bit–and write it to a USB stick, back up all your data, then boot off the USB stick, format the drive, and install Windows fresh. The difference is remarkable.
Trust me, with a clean install, any i5 can run Windows 10 very nicely. With an upgrade install, not so much.
The cynic in me thinks that the reason Microsoft can continue to give away Windows 10 is because so many people who upgrade to it will decide they need a new computer.
Get an SSD
Almost everything else I’m going to talk about here is a configuration change, but here’s one hardware upgrade you really want. Hard drives are the biggest bottleneck in any recent computer system. Upgrading to an SSD changes everything. SSDs, if you’re not aware of them, replace the mechanical parts we traditionally use for storage with fast, reliable memory chips. Even an old Intel 320 or Micron C400 or C500 SSD is dramatically faster than any hard drive.
Given a choice between an i7 with a hard drive and an old Core 2-based system with an SSD, I’d rather have the old Core 2. The i7 is nice but the SSD does more for the overall computing experience.
People frequently express concern over SSD size. Compressing the operating system can help that, and that can actually improve SSD performance too.
Let’s talk about one other hardware upgrade. Windows loves memory. Although Windows 10 will run better in 1 GB RAM than you probably expect, it likes 4-8 GB better.
For really heavy use, you can justify 16 GB, but I would consider 8 GB mainstream. If you run a lot of virtual machines and do work like that, max out your memory.
If you can put an obscene amount of memory in your machine and have trouble using all of it, consider using a ramdisk. Then you can move your temporary files there, your print spooler, or even your browser cache. As fast as SSDs are, RAM is an order of magnitude faster. Here are some tips on buying memory if you need them.
Cortana is a privacy nightmare, but it also slows things down. With Cortana disabled, I can hit Start, type something, and have the document or app I was looking for come up now the way they used to in Windows 7.
Be aware that if you pull up Task Manager after you disable Cortana, you’ll still see something called Cortana running. Don’t fret over that. It’s what’s left of the Windows search app that you want.
Disabling Cortana is a bit obnoxious. Click start, type regedit and run the regedit app.
Navigate to HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Windows Search if it exists. If it doesn’t, navigate to HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows, then right-click and select New -> Key and enter Windows Search. Navigate to that key, then right click and select New -> DWORD (32-bit) and enter AllowCortana. Make sure the value in the right hand side reads 0x00000000 (0), which is a fancy way of saying zero.
If you’d like an easier way, run Notepad, copy and paste the following into a file you save as Cortana.reg.
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Windows Search] "AllowCortana"=dword:00000000
Save the file, double click on it, then when Windows asks if you want to import it into the Registry, click yes.
I promise most of the rest of these tricks are easier.
Windows 10 indexes your files, which makes finding stuff much easier, but if it’s looking in too many places, it introduces unnecessary overhead.
To limit what Windows searches, click the Start button, then type indexing options. Run the app. Click Modify and you can remove items such as Internet Explorer History. Excluding items you don’t use speeds up searching. Alternatively, if you have folders that search isn’t covering, you can add them.
If you use a ramdisk, you can move your search index there to speed up searches even more. Click the Advanced button, then change the index location from C:\ProgramData\Microsoft to a folder on your ramdisk, such as R:\index.
I use this search capability all the time. At work, when someone wants to know about some obscure document, I can find it quickly. When I’m doing my taxes, I can find that receipt from last January. It makes me a lot more productive.
If you don’t use the search capability at all, you can improve performance and lower some overhead by disabling the Windows Search service. Click start, type services, run the app, scroll down to Windows Search, right click on it, select Properties, then scroll down to Startup Type and select Disabled. Then, under Service Status, click the Stop button. This would be an especially useful tip for a computer you use exclusively for gaming.
Lower the menu delay
Click start and type regedit. Run the app that comes up and navigate to HKEY_Current_User\Control Panel\Desktop\MenuShowDelay. The default setting is 400. Set it to 20 to make the Start menu and the menus in your apps more responsive.
Keep in mind this is a per-user setting, so set this for each person who uses the computer.
Here’s something you can copy and paste into a file called menudelay.reg and double click to import, if that’s more convenient for you.
Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Control Panel\Desktop] "MenuShowDelay"="20"
I promise that’s the last we’ll be digging into that pesky registry.
Tune the performance options
Click start and type View Advanced System Settings. Launch the app that comes up. Under Performance, pick Settings. Many of these settings no longer drag down performance like they did in the 90s, but turning off the animations helps. I always pick Adjust for best performance and then re-enable the option to Smooth the edges of screen fonts. While font smoothing does impact performance I find I like it better.
I recommend turning everything off, then turn the things back on that you miss. The end result will usually be a peppier system.
Run Disk Cleanup
How much cruft can be on a system right after you install it? On mine, 1.25 gigabytes. Running Disk Cleanup won’t necessarily find much initially, but after a year or so of downloading and installing updates, your system collects a fair bit of cruft. Click start, type Disk Cleanup, run the app, then click Clean Up System Files. It will analyze your system, find the logs and backup files from all that patching, and give you a chance to delete them.
Switch to Windows Defender for antivirus
Windows 10 comes with antivirus built in. It’s not flashy, but it’s functional and slows the computer down a lot less than many of the big-name antivirus suites. It also causes fewer problems for web browser developers than other antivirus programs.
When you use Windows Defender, you may not even realize you’re using antivirus software much of the time. That’s actually a good thing.
64-bit or no?
You always want the 64-bit operating system as long as you have more than 4 gigs of RAM. If you have exactly 4 gigs, flip a coin: the CPU wastes less memory, but the OS uses most of what you gain for its own overhead. If there’s any chance you’ll upgrade beyond 4 gigs, go 64-bit.
Regarding applications themselves, Chrome is significantly faster in 64 bit than 32 bit. Other apps vary, but I generally prefer 64-bit apps when a 64-bit version is available.
Bring up Task Manager, click More Details, navigate to the Startup tab, then right click Microsoft Onedrive and select Disable. This saves memory and speeds up boot time if you don’t use the service. My memory usage dropped a staggering 600 megabytes by disabling Onedrive. If you use it, I’m not telling you to stop. But if you don’t use it, there’s not need to have it running.
Keep in mind this is a per-user setting, so you’ll have to disable this for each person who uses a given computer.
Uninstall other built-in apps
Windows 10 comes with a ton of apps since it tries to be an OS for computers, phones, and tablets. But I don’t need a camera app on this laptop, which doesn’t have a camera. And I don’t want the Xbox app because I don’t have a console that works with it. Install Ccleaner and run it, click on Tools, then Uninstall, and you can uninstall to your heart’s content. But keep in mind this seems to only take effect for the current user, and it’s not clear it actually removes any files, though it does unclutter your start menu.
But don’t clean the registry with Ccleaner
Microsoft frowns on registry cleaners in general, and in Windows 10 especially, they seem to do more harm than good.
When it comes to optimizing the registry, I found NTregopt to be helpful. It doesn’t actually drop anything from the registry. It removes slack space and rebuilds it. But you have to disable UAC, a useful security feature, for it to work in Windows 10, and I’m not a big fan of that. Click Start, type Change User Account Control Settings, launch the app, slide the slider all the way to the bottom, then click OK. Then run NTregopt. Ignore any errors you get, and reboot when it asks. When it finishes, it will tell you how much empty space it removed, and ask you to reboot. You have to reboot for the changes to take effect. After you reboot, Click Start, type Change User Account Control Settings, launch the app, slide the slider back to the default, then click OK.
I’ve covered the registry in more detail, including a good option for defragmenting it that works for both 32- and 64-bit systems, here.
Disabling unnecessary services
Black Viper has a guide for disabling services, but everything he tells you to uninstall or disable is set to manual by default, so you won’t gain much, if anything. Microsoft is much better than they used to be about running unnecessary stuff.
If you have an SSD, you don’t have to worry much about defragmenting, but if you have a regular platter disk, a defragmenter with some intelligence really helps performance. My Defrag is a much smarter defragmenter than the built-in one. After you run its most thorough setting, your system will perform much better. Its secret is that it moves files that aren’t speed sensitive to the end of the drive, where performance is slower, moves speed-sensitive files to the front, and leaves zones of free space in between so the drive is less likely to get heavily fragmented in between runs. It’s very effective.
I’d still rather have an SSD but a really good defragmenter makes life with an old-fashioned disk much more tolerable.
Keep your fonts in check
Don’t load your system down with thousands of fonts just because you have them. Windows 10 can handle hundreds of fonts, but loading thousands of fonts drags down performance. Just load the fonts you use regularly, and if you install some fonts for a single project, remove them afterward.
Keeping drivers up to date
Driver updates are controversial, but I have fixed some really weird problems in the past just by updating drivers. Generally speaking, using newer video drivers tends to increase performance, and it definitely improves security. Unless you know the new driver is significantly more CPU and/or memory intensive than the old one, you’ll likely get higher performance and better reliability out of the newest drivers.
Disable unused hardware
You can save some memory and speed up your boot time by disabling unused hardware, so Windows doesn’t have to load drivers for them. For example, the laptop I’m typing this on has the ability to enable legacy parallel and serial (as in RS-232) ports, but it doesn’t have any of those physical ports in the back. So enabling them is a waste of memory.
This laptop also has a 56K modem in it, which is pretty useless today. I actively looked for a way to disable that. I also disabled its 1394 port, given that I’m pretty sure I haven’t used that type of port since 2003.
To fully get rid of those drivers after you disable them, run device manager, then click View -> Show Hidden Devices. Right-click on the device and select Uninstall.
Did it help me much? Probably not. But it’s something.
Setting your desktop wallpaper to a solid color is a very old trick. Right-click your desktop, click Personalize, and choose a solid color. That said, if you actually notice the difference this makes, I’d be worried.
Setting your lockscreen to a locally stored image is something that makes a difference you’re more likely to notice. Click Start, type Lock Screen Settings, run the app, set the background to Picture, then choose one that’s in the list, or click Browse and select a picture from your computer.
Windows 10 optimization in conclusion
If Windows 10 has been dragging you down since you upgraded, take heart. You can spend about an hour doing these things and end up with a much faster system. In theory, some systems will run Windows 10 even better than they ran Windows 7. Windows 10 is also much more secure, so if you can make Windows 10 tolerable, you’re much better off with it than you were with earlier versions of Windows.