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 updates. Here are a few tips to free up space following the installation of Windows 10.

This guide 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
  • Disable Blockly and Roboscratch


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 log in 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. 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 connection, disconnect it during the installation. You do not want to have an internet connection during Windows installation, which 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 load these days. Adobe, soundcard helpers, Wi-Fi helpers, etc... The only program that needs to start on a robot PC is the Windows Security Notification. Even though we will disable the virus scanning later 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.



Disable Hibernation

A hidden system file named c:\hibernate.sys 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, the command was not a success. Successful execution of this command will not return any result.



Compact OS

Many single-board computers (SBCs) will have a small HDD/SDD. The operating system can take most 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 display the disk savings acquired.



Uninstall EVERYTHING

This is not an exaggeration because you won't need any 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 significant for your workstation PC because you get the latest security features. However, this differs from the need for your robot computer. The robot computer doesn't need unplanned updates or waste valuable HD space with the enormous downloads required for updates. This little hack will instruct the OS never to 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. This will be fine to enable on a robot computer with the only ARC installed. However, installing absolutely any software outside of Synthiam ARC should enable this feature. Do not trust anything on the internet except Synthiam ARC! :)

Virus & Threat protection is a process that scans all I/O activity for 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, 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 a .bak directory.

C:
cd "c:\Program Files"
move "Windows Defender" "Windows Defender.bak"

7) Change to the C: drive and navigate to the C:\ProgramData\Microsoft folder and rename the Windows Defender folder.

C:
cd  C:\ProgramData\Microsoft
move "Windows Defender" "Windows Defender.bak"

8) Exit the command prompt. 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 You can find this setting. It is either found in the system tray by clicking on the battery icon or located 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 to Best Performance


Display Visual Effects

Windows offers a straightforward way to shut off all visual enhancements.

  1. Navigate to System > Advanced system settings
  2. Choose Advanced from the tabs above.
  3. Underperformance, choose Settings.
  4. 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 your 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, limiting the display render framerate may be preferred by skipping frames. The setting in the Camera Device allows N frames to be skipped, thus saving valuable resources. This option does not affect tracking performance; it limits the display rate.

Find the option in the Camera Device configuration window under the Advanced tab.


In addition to skipping camera frames, there is also the ability to resize the output image for processing. When processing high-resolution images for tracking, the CPU will work very hard. You can help the CPU by lowering the output framerate. Some cameras only operate at high resolutions. So this option allows the video for processing to be downsized.



Disable Blockly, Roboscratch & Script Help

The Blockly and Roboscratch interfaces use quite a bit of RAM and CPU. They are graphically intensive and rely on large libraries, such as chromium-browser. By disabling the Blockly and Roboscratch UI's, you will notice a performance improvement with ARC on embedded computers. Additionally, the script help can be disabled, so it is no longer rendered and will also make editing scripts much faster by using less RAM.

1) Click the ARC Preferences


2) Select the Advanced tab


3) Check the Disable options for performance


4) After restarting ARC, you will notice the Blockly and Roboscratch UI's are removed and improved performance.



Setup as Single Board Computer (SBC)

Now that you have completed your robot computer's storage and performance enhancements, 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 following guide step: Headless SBC (Single Board Computer).


Delete Task Schedules (warning)

This is an optional step that will delete all of the Windows scheduled tasks. While the scheduled tasks are mostly unnecessary for Windows to operate, there may be a task that is required by a driver or service you have. This is only recommended for advanced users.

  • Click on the start menu
  • type "cmd"
  • Select Run As Administrator
  • Type the following command
schtasks /delete /tn * /f