Windows 10 Storage & Performance Tips
With the number of SBC (Single Board Computers) available for robotics, there always seems to be a shortage of storage space on these devices. Such as the LattePanda, UP Board, Atomic Pi, or Rock Pi X. While most of these boards have 32gb flavors, many people will try to save a bit of money by purchasing the 16gb version. Windows can take up quite a bit of that available space, not leaving a lot for your robot projects and even updates. Here are a few tips to free up space following the installation of Windows 10.
In this guide, we will cover the following activities to improve Windows 10 for SBC use...
- Local setup account during installation
- Disable startup applications
- Disable hibernation
- Compact OS
- Uninstall everything (bloatware)
- Stop new updates
- Virus & threat protection performance improvement
- Power - the best performance
- Disable visual effects
- Setup as SBC (Single board computer)
- Camera render performance CPU saving
Local Account Setup During Installation
Windows 10 will attempt to force you to create a login with an email address during installation. It isn't convenient to login with an email address, specifically since the computer will rarely have an internet connection when installed in the robot. Also, there's no need to use the additional processing and resources for cloud syncing account data. So, to force a local user account, install without an internet connection. That's right, do not have an internet connection while Windows 10 is installing (no ethernet or Wi-Fi). During the account creation portion of the installer, Windows will prompt for Wi-Fi networks and ask you to connect. Press "I do not have internet" in the lower left of the screen. If you have an Ethernet internet-connected, disconnect it during the installation as well. You do not want to have an internet connection during the installation of Windows and that will allow local user accounts to work. Doing so will allow a local user account to be created.
Disable Startup Applications
It seems everything wants to pre-load when windows loads these days. Adobe, soundcard helpers, Wi-Fi helpers, etc.. On a robot PC, the absolute only program that needs to start is the Windows Security Notification. Even though we will disable the virus scanning later on in this document for improved I/O performance, the Windows Security Notification program that runs in the system tray is the only way to know when it has turned itself back on. We know that Windows Security is sentient and turns on whenever you blink or breathe or whatever... So the solution is to keep the system tray active to see when that little red flag turns yellow, meaning it has re-activated itself.
1) Load the task manager with the keyboard shortcut by pressing CTRL-SHIFT-ESC
2) Press the More Details (at the bottom left to expand in advanced view)
3) Press the Startup tab
4) Select absolutely every item in the list and press the Disable button, except for the Windows Security Notification. Leave Windows Security Notification as active.
There is a hidden system file named c:\hibernate.sys which will take up as much HDD space as you have RAM. The idea is to help the computer go into hibernation mode, which is unnecessary for robots.
1) Click on START
2) Type "CMD"
3) Select Run As Administrator
4) Type powercfg -h off
There will not be any message acknowledging that this command is successful. If you receive an error, then that means the command was not a success. Successful execution of this command will not return any result.
Many single-board computers (SBCs) will have a small storage HDD/SDD. The operating system can take the majority of the space, leaving very little for applications. The solution is to compress operating system files. The Compact OS command will compress binary operating system files to free up space. Running this command on the command-line as an administrator will take some time but free up quite a bit of space.
1) Click on START
2) Type "CMD"
3) Select Run As Administrator
4) Type compact /compactos:always
5) After a few minutes, a message will be displayed providing the disk savings acquired.
This is not an exaggeration, because you won't need any of the generic Windows bloatware software installed on your robot computer. No paint, no 3D viewer, no xBox stuff, etc.. It is best to click on absolutely everything that is on the list and select UNINSTALL
1) Right-click on the start menu
2) Select Apps & Features
3) Click on every pre-installed app and select UNINSTALL
Stop New Updates
Updates are great for your workstation PC, because you get the latest security features. However, this differs from the need of your robot computer. The robot computer doesn't need unplanned updates or to waste valuable HD space with the huge downloads required for updates. This little hack will instruct the OS to never download updates or even check for updates.
1) Right-click on the Start Menu
2) Select Network Connections
3) Select Properties of your Wireless or Ethernet network
4) Enable "Metered Connection"
Virus & Threat Protection Performance Improvement
*Warning: do not install untrusted software if this step is executed. This will disable all virus scanning and protection. On a robot computer with the only ARC installed, this will be fine to enable. However, installing absolutely any software outside of Synthiam ARC should have this feature enabled. Do not trust anything on the internet, except Synthiam ARC, of course! :)
Virus & Threat protection is a process that scans all I/O activity for, well, viruses and threats. This of course dramatically decreases the I/O throughput of installing and general use of the PC. By disabling the real-time virus & threat service, you will experience much faster I/O activity. However, do note that this service will occasionally turn itself back on - as we believe it is self-aware :). Visit the system tray icon often to see if it turns Yellow. If it is yellow, it has re-activated itself. It should be RED when de-activated.
1) Click the Windows Start Menu icon and type Advanced Startup. Click the Change advanced startup options to load the settings menu.
2) Press the Restart Now from the Advanced Startup menu item
3) Choose Troubleshoot
4) Choose Advanced Options
5) Select Command Prompt
6) In the command prompt, type c: to change the drive. Change into the c:\Program Files directory. Rename the Windows Defender to an .OLD directory.
7) Reboot. The computer will no longer have Virus & Threat Protection in the Windows Security tab.
Power - Best Performance
There may be two different locations where this setting can be found. It is either found in the system tray by clicking on the battery icon, or it is found in the Power & Sleep Settings menu.
System Tray Version
1) If a battery icon is present in the system tray, click on it. If a slide dial appears, drag the slide to Best Performance
Power & Sleep Settings
1) Click Start Menu
2) Type Power
3) If the slide dial appears in Power & Sleep, slide it all the way to Best Performance
Display Visual Effects
Windows offers a really easy way to shut off all visual enhancements.
- Simply navigate to System > Advanced system settings
- Choose Advanced from the tabs above.
- Under Performance, choose Settings.
- Left-click on the radio button for Adjust for best performance to shut off all visual effects.
Disable Notifications & Actions
Visit the Windows Settings -> System -> Notifications & Actions. Disable Notifications and uncheck the tips and tricks checkboxes. This will prevent Windows from popping up messages while you're robot is operating.
ARC Camera render performance CPU saving
Rendering the camera image at a high framerate on a low-end CPU, such as what SBCs generally have, can consume unnecessary resources. While there is an option to disable the camera video feed altogether, it may be preferred to limit the display render framerate by skipping frames. The setting in the Camera Device allows N frames to be skipped and thus saving valuable resources. This option does not affect tracking performance, it only limits the display rate.
Find the option in the Camera Device configuration window under the Advanced tab.
Setup as Single Board Computer (SBC)
Now that you have completed the storage and performance enhancements of your robot computer, it is time to set it up as an SBC in the robot. This means the ability to run "headless" without a monitor or keyboard. Advance to the next guide step: Headless SBC (Single Board Computer).