How to Maximize CPU Power for a Single Task in Windows 10

affinityprioritythreadswindows

I work with applications like Blender, and, according to "Task Manager" and "Resource Monitor", windows uses less than 40% CPU (at most, with the option below) and less than 30% memory when I render a video. I wouldn't be interested in using the rest of the resources for any other thing while rendering. Is there a way to instruct windows to use its whole power?

I have tried changing priority, it won't noticeably improve.

I tried changing affinity to one (core) CPU, it did improve (doubled rendering speed). Does anybody know any other "hack"?

Best Answer

No. Windows is not restricting your applications

If your rendering app is only single-threaded, then it can only use 100% of one CPU. So, for example,on a two-CPU machine it would show up as 50%. Windows can't make it use both CPUs because it's up to the app developer to break the task into multiple threads.

But some of the time it will have to wait while it reads input video and writes the output video... which would account for its only using 40%.

It is similar for RAM. Assuming your machine is not RAM-starved, Windows will let a process use as much RAM as it's referenced recently.

To make the compute-bound portion of video rendering go faster, you can buy a faster CPU, or buy a video card that your app can use for acceleration by doing some of the work in the GPU. Or get a different rendering app, one with better-implemented multithreading.

To make the I/O go faster, put the input, output, and temporary files on three different drives (not just drive letters. Different physical drives). Since the input files are normally the largest, and are also typically accessed in a random fashion if you're combining multiple inputs, put them on your fastest drive, an SSD if possible. The speed of the output drive won't matter much: The rate at which you can render video is a slow walk to any hard drive.

Related Question