Is there a way to "hack" windows 10 to use its entire CPU power in one task or process?

2

1

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"?

Ignorante

Posted 2015-08-01T18:45:47.650

Reputation: 326

have u tried to change settings in right click on pc icon> properties> advanced system settings> advanced> advanced : change from background services to programs? – Botmaster – 2015-08-01T19:36:42.410

That was the default setting :) – Ignorante – 2015-08-01T20:18:52.240

It is unclear here if you are using 2 physical cpus or a multi-core cpu ? Or what is the hardware were talking about? I can show examples of taskmanager core usage that are very confusingly displaying information that makes it look wrong via hyperthreading (IMO it is wrong) The actual speed your getting, well that counts :-) The answer still covers it well, if it was I/O anyway. I just would like to know if you have more than one physical cpu. – Psycogeek – 2015-08-02T02:03:55.350

1It's just one multi-core. 4 cores. – Ignorante – 2015-08-02T04:34:21.033

If limiting the process to one core made it run faster, the issue is likely I/O limiting from a rotating disk. – David Schwartz – 2016-03-31T18:47:03.747

Answers

8

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.

Jamie Hanrahan

Posted 2015-08-01T18:45:47.650

Reputation: 19 777

That's a really complete and crystal clear explanation. The last paragraph is pure gold, thanks a lot! – Ignorante – 2015-08-01T19:24:42.860

Sure thing. Keep in mind that, in the above example with made-up numbers, even if you manage to shrink the I/O time to nothing, a single compute-bound thread can't possibly use more than 100% of one CPU. So in the above made-up example we wouldn't expect its CPU usage to go above 50%. – Jamie Hanrahan – 2015-08-01T20:35:42.377

Related: http://superuser.com/a/964389/348119

– Jamie Hanrahan – 2015-08-29T10:33:37.637

1

As Jamie said, a single threaded application can only use up to 100% of a single CPU core amounting to no more than 25% of a quad core CPU or 50% of a dual core CPU.

You specifically mentioned Blender as one of the programs you use. Blender is highly multithreaded when rendering a 3D scene. In the Render panel under Performance you can increase the number of threads used. By default it uses the same number of threads as cores your computer has which is usually the best. I only ever change this if I am needing to use my computer for other things while I render, in effect causing the condition you are asking about.

If you are rendering a series of images to a video, or compositing video using Blender, you may run into I/O bottlenecks as the drive is having to access each one of the files as they are needed.

user1509130

Posted 2015-08-01T18:45:47.650

Reputation: 11