Core i7 never exceeds 50% utilization

tokyotech

Distinguished
Mar 18, 2008
146
0
18,680
I'm using VLC to transcode 720p videos with x264 and broadcasting it through a website live. I've noticed that my Core i7 utilization never exceeds 50%. From the task manager, it appears that 7 out of the 8 logical cores has some pretty heft work to do. My video is quite choppy, so I'm wondering why the Core i7 cannot just max out to 100% so I can get a smoother stream. The problem is not the website in question or my Internet speed because I broadcast flawlessly with sub-720p videos and I have Comcast 12 Mb.
 
Solution

HT basically never causes a 10% slowdown. You don't need to worry about that. In a highly threaded application, it provides 10-30% gain typically (sometimes a bit more, though that's rare). It will do absolutely nothing for a single...

MagicPants

Distinguished
Jun 16, 2006
1,315
0
19,660
The program needs to handle splitting up all the work so that it can be spread out over many cores.

Imagine an artist trying to paint a picture. Now imagine 8 artists trying to paint a single painting at the same time with 4 brushes.
 

Ancient_1

Distinguished
Oct 18, 2006
319
3
18,815

Are you sure it's not your internet connection? With Comcast I am sure that your 12Mb connection is just your down speed and you have a much smaller up speed. I have Charter 20meg service and my up speed is 2Mb which is nowhere near enough for 720p. Even their 60meg service (not available here yet) only has a 5meg up which could still be a problem with 720p.

Can you try and stream it on a local lan and see if the problem persists?

You can check your actual speeds at SpeedTest.net

Here is what mine looked like last I checked.

Speed%20CA.png
 


lol, nice signature pic. I just read recently that Australia is now adopting PRC-ish firewalls for all of their computers and the internet...
 

tokyotech

Distinguished
Mar 18, 2008
146
0
18,680


I know it's not my Internet or the website's problem (www.veetle.com). My upload speed is great:



Also, I know the lagging is on the transcoding side because both the live broadcast and the offline preview show the video being flickery but the audio being superb. This means that it's giving up on video processing and just grabbing the "low hanging fruit" - the audio. If it were a network issue, you would see weird blocky artifacts caused by video frames being dropped. I have seen this artifacting on channels in which Veetle reports that the broadcaster has a slow upload speed.

And why is x264 locked at 4 threads? I see 7 of my logical cores having some good work to do.



I don't understand this analogy. Why won't the 4 artists that are holding the 4 brushes enter into Turboboost mode instead of doing a half-assed job or wasting time passing the brushes back and forth between the inactive artists?
 

someguy7

Distinguished
Dec 12, 2007
1,186
0
19,310
Im confused. Are you taking a raw video source that is 720p and encoding it and uploading it at the same time?

And this a live stream of the HD video?

But anyways. Back to the 50 percent usage. Elmo says vlc can only use 4 cores. Disable HT and see if that speeds things up.

 
Disabling HT shouldn't help. If an i7 is subjected to 4 threads of load, it will automatically split them between the cores evenly to give the greatest possible benefit. You might get a tiny gain by eliminating hyperthreading, but I'd be surprised if it made any significant difference.
 

tokyotech

Distinguished
Mar 18, 2008
146
0
18,680


I made sure I'm not capped at 50% by opening up Xilisoft Video Converter and started transcoding 4 videos simultaneously. Now I'm near 75%.



Why does Windows pass around a single process across multiple cores? Wouldn't that slow down the program because of the synchronization overhead? Is it because it's not trying to overheat a single core?



I've read that HT can increase/decrease performance by only 10%. Do we know for a fact which applications it seems to improve and which it seems to hurt?
 

HT basically never causes a 10% slowdown. You don't need to worry about that. In a highly threaded application, it provides 10-30% gain typically (sometimes a bit more, though that's rare). It will do absolutely nothing for a single threaded (or multithreaded that is limited to 4 cores or less) operation, but it shouldn't slow it down.
 
Solution