Vegas Pro 14: disabling hyperthreading improved rendering performance

bravof wrote on 10/14/2016, 4:27 AM

Hi,

I was able to improve rendering times by 8% by disabling hyperthreading. 

 

I have a 16 core / 32 thread machine. In vegas 14 I could only set the max number of rendering threads to 16. At that level, rendering was done at only a 38% CPU utilisation. 

So I then disabled hyperthreading and CPU utilisation increased to 60% and the CPUs also were slightly turbo boosted (3 Ghz vs 2.8 GHz) 

Result: an 8% decrease in rendering times (H264 with libav) 

The improvement is not huge, but nevertheless interesting because a bit counter intuitive. Your results will vary as I guess that up to a certain number of cores hyperthreading brings benefits, but beyond that it's detrimental. 

I would be interested in getting your results.

Comments

NormanPCN wrote on 10/14/2016, 12:29 PM

Nothing counter intuitative.

You got an 8% speed increase and you boosted clock rate by 7%.

Of course CPU utilization will go up when you disabled hyperthreading. Consider this. Have four threads running balls to the wall on a typical 4-core, 8-thread CPU. With hyperthread on you will see 50% CPU use. Turn off hyperthread you will see 100% use. In both cases the CPU is doing exactly the same work.

Therefore if on your 32-thread machine and Vegas is limited to 16 threads, and Vegas was using 16 threads, and you disable hyperthread, then utilization % will go up. In idealistic terms 2x.

Hyperthreading while doubling the logical cores only typically boosts performance 10% on average. Some apps more, some less, and a very small percentage can perform worse at some tasks.

Just throwing more cores/threads at something does not necessarily boost performance. The application algorithm has to scale well. Complex apps are doing lots of different things. Some things might scale well and others not so much. Some algorithms that scale well from 2 to 4 cores can still scale well going to 6 cores but can run out of steam as more an more cores/threads are added.

File encoding, like AVC, does not scale very well to a huge number of cores/threads unless you compromise quality. Typical graphics effects and compositing however scale really well and this is why in our current generation apps are using the GPU for these tasks. GPUs are slower than CPUs but they are good at massivly parallel tasks. 1000s of threads.

DrLumen wrote on 10/14/2016, 12:29 PM

It looks like the 8% increase is due to your increase clock speed (~8%) and hyperthreading had no affect.

john_dennis wrote on 10/14/2016, 2:57 PM

I ran a render test of Vegas 14-161 on my i7-3770k (4 cores with HT). The source was 06:36 (MM:SS) of 1080-23.976p at 35 Mbps AVC and PCM in a .MOV wrapper.

Render Type                                                         With HT                                            Without HT

Sony AVC/ Internet 1080-23.97p                           13:38                                                 13:27

Frameserve to Handbrake                                      16:41                                                 22:51

For the Sony AVC encoder the difference was insignificant with or without hyperthreading. For frameserving to Handbrake the render time was significantly slower without hyperthreading.

In your case there may be some significance to you having 16 full processors equal to the default maximum number of render threads in Vegas Pro.   

Surely there are diminishing returns to increasing the number of cores over a certain number (my techno-philosophical guess would be ~8). There are certainly diminishing returns to reducing core clock speeds to Core2Duo era levels.

/Opinion

16 cores is well into diminishing returns for a single user workstation running one or few applications. The fact that the Total Design Power limitation of the socket requires reducing the frequency of each of the cores to stay within the power envelope starts to eat into the performance, too. Going over 6 cores with an intel platform starts to eat into ones wallet, too. 

/Opinion  

bravof wrote on 10/14/2016, 3:49 PM

It looks like the 8% increase is due to your increase clock speed (~8%) and hyperthreading had no affect.

Of course! How I did not immediately see that is beyond me! 

What's interesting is that this clock speed increase was only due to the fact that without hyperthreading procssor utilisation was in the 60% - that's when the turbo activated. So Hyperthreading was only a by product. I was looking at the wrong data for my experiment! 

Thanks!

bravof wrote on 10/14/2016, 3:52 PM

I ran a render test of Vegas 14-161 on my i7-3770k (4 cores with HT). The source was 06:36 (MM:SS) of 1080-23.976p at 35 Mbps AVC and PCM in a .MOV wrapper.

Render Type                                                         With HT                                            Without HT

Sony AVC/ Internet 1080-23.97p                           13:38                                                 13:27

Frameserve to Handbrake                                      16:41                                                 22:51

For the Sony AVC encoder the difference was insignificant with or without hyperthreading. For frameserving to Handbrake the render time was significantly slower without hyperthreading.

In your case there may be some significance to you having 16 full processors equal to the default maximum number of render threads in Vegas Pro.   

Hey, this is cool! I did not know that I could increase the number of cores in these power settings. A new thing to experiment next week: activate all 32 logical cores :)

Surely there are diminishing returns to increasing the number of cores over a certain number (my techno-philosophical guess would be ~8). There are certainly diminishing returns to reducing core clock speeds to Core2Duo era levels.

Absolutely. I agree that a fast 6 or 8 core is a more sensible choice.

 

john_dennis wrote on 10/14/2016, 4:06 PM

"I did not know that I could increase the number of cores in these power settings."

That Internal field is related to threads not cores and is not documented for us mortals. Experiment at your own risk. I do.

I'm leaving for Lake Tahoe and may not give this or any other video related subject any thought for a few days.