Product icon Help book icon Installation and Troubleshooting : Knowledge Base

Program Performance

Your program performance will be dependent on many things:

  • Computer hardware - CPU speed, amount and speed of RAM memory, harddisk speed, graphics card capabilities, etc. For video, display resolution (width, height) and fps (frames per second) will determine how many pixels are being processed per second. 4K resolution is especially performance intensive.
  • Software environment - Windows version, Windows features in use, media codecs used, other software in use.
  • Media Content - Video resolution (width, height) of video content, number of concurrent media files playing at once.

Performance Tips


Program Warm-up

For snappiest performance at show time, we recommend you "Warm-up" the program prior to show time by playing a video for at least a few seconds. This will cause .Net to load into RAM memory all of the programs modules and codecs that are needed for video playback. Subsequent plays will start much faster because the necessary modules are now pre-loaded in RAM.

For example, if your media is a set of MP4 videos, then create a 10 second MP4 as a warm up video and play it sometime prior to the performance. It can be as simple as a black screen video with no audio so the audience is not even aware that it's been played -- or show your business logo with some theme music.


Disable Anti-Virus and/or Firewall

You may get a quicker video start by disabling your anti-virus (AV) program during shows. AV may be scanning the video file before it allow the program to open it. The same may be true of your firewall if you are playing Web streaming videos.


Close the Web Browser

Web Browsers can draw significant CPU cycles and memory usage, especially when Add-Ons are running in the browser.


Disconnect from the Network

If you don't need the Network access during a performance, disconnect from the network (unplug network cable or disconnect from wireless connection). This will prevent Windows from trying to ping the Microsoft Cloud for updates while you are playing media.


Close Unnecessary Programs

Every running program takes up RAM memory and some may cause periodic wake-ups that could drain CPU cycles. Close any programs and unneeded services that you aren't currently using.


GPU Hardware

Video Mill will use computer GPU Hardware (graphics processing unit) capabilities when the video codec allows it. So it is dependent on the format of the video and the codec used to render that format. Video Mill uses the .Net WPF MediaElement as a video rendering element (WPF: Windows Presentation Foundation). Check your GPU Hardware user guide to see if it offers tweaks for the WPF MediaElement. The GPU may also offer WPF Graphics Rendering Tiers tweaks.

Tuning Windows Performance

Windows® is a multi-tasking operating system. Many program tasks run concurrently and Windows divides the CPU processing into time slices, giving each task a portion of the CPU. That means when too many tasks are running, it can slow down the performance of running programs. Also Windows gives some system tasks a higher priority.

A healthy Windows system will idle at about 1-3% CPU Utilization. But Windows can/will kick off system housekeeping tasks that can drive 30% CPU (or much higher) and throttle network traffic. Some system tasks may run for 5-10 minutes or more. Windows 10 is notorious for this, especially when your Start Menu has many 'Live' Tiles which can check for updates 10-15 times over the span of an hour.


How to Tune Windows

There are many articles written on tuning windows for performance. Here is a good one with some core suggestions: 9 Windows 10 Features You Can Safely Disable.

In general, we turn OFF ALL the Windows Privacy Settings on our lab machines (press Windows-Key + I to access). Some privacy settings can cause a lot of network traffic communicating with Microsoft Cloud servers. This does NOT seem to cause issues with email or Web browsing.

Warning: We do not endorse any third party apps that tune Windows -- Use them at your own risk. If you are not a tech savy user, consult someone who is before tuning. Shutting off some windows services can make your system unstable or disable a feature you rely on. For safety, create a Windows Restore Point before proceeding.

Monitoring with Windows Task Manager

Task Manager (Figure 1) is a useful app to watch your system performance over time. To Open it, right-click on the Windows Taskbar, then pick Task Manager. Use the Task Manager to see when you get a CPU throttle condition (or excessive disk access or network traffic). Then check the Details tab (Figure 2) to see what task(s) is causing the spikes.

Resource Monitor is another useful app that shows utilization by program task at a more detailed level. See the link at bottom of Figure 1 to start the Resource Monitor.

Figure 1. Windows Task Manager - CPU tab
Figure 1. Windows Task Manager - CPU tab
Figure 2. Windows Task Manager - Details tab
Figure 2. Windows Task Manager - Details tab

Windows Housekeeping Tasks

It is important to understand Windows Housekeeping Tasks which can grab significant portions of CPU and Disk utilization (Figure 1).


Computer Bootup Tasks

During Computer Bootup (start-up), there are a lot of tasks that run to setup Windows. In general, you should plan to allow Bootup Tasks to finish before a performance, so Bootup the computer before showtime. Watch Task Manager (Figure 1) to see what typical boot time frame is for your specific computer.


Microsoft Compatibility Appraiser (CompatTelRunner)

CompatTelRunner.exe is also known as Windows Compatibility Telemetry. This periodically sends usage and performance data to Microsoft. This is one of the more long running startup tasks (up to 10-15 minutes or more on some computers). Help forums say it can be disabled. If you disable it, remember the settings you changed in case the OS becomes unstable.


Disk Utilization at 100%

When Disk Utilization is up to 90-100% for a long period, it often means an OS system task are pushing a lot of traffic on the data bus. This will slow down the system quite a bit. Either wait until the task finishes or end the target task (but only if it is an optional task).


Find which task(s) is hogging the system

In Windows Task Manager (Figure 2), click on the Details tab. Click on the CPU heading to sort the list by CPU usage. You may need to search the web by the name of the exe filename to find out what a task does.


Ending a Task

In Windows Task Manager (Figure 2), mouse right-click on a task, then pick 'End Task'. Be careful when ending an operating system task because it could crash Windows (and you will lose any unsaved work). When in doubt, web search the task name to verify it is safe to end it. Our programs can safely be ended but you will lose any unsaved work.


Svchost.exe Tasks

Some Services run under a common task named svchost.exe (Figure 2). To determine the Service name, select the svchost task, then mouse right-click. In the resulting context menu click 'Go To Services'. That will show which service is running. Sorting the list by task Name (click on the Name header) will stop the task names from resorting when you are trying to mouse right-click on a task.