Sony Vegas Encoding Performance CPU vs GPU
Posted on Jun 21, 2013 by Paul White
Recently I started doing more video work thanks to my new Sony a99. However after shooting video I needed to add a few overlays ( logos, descriptions ) and then encode it. At this point I realized that my 3 year old first generation Intel Core i7 Chip wasn't really up to the task of encoding HD video in any reasonable amount of time. So instead I used my graphics cards ( Nvidia Geforce 9800 GT ) to do the heavy lifting. The result was a drastic improvement in speed. But still not quite as fast as I would like.
How your CPU works
While your CPU might have 4 cores, and a clock speed around 3 Ghz, Its mainly designed for linear tasks. Linear tasks are ones in which the first problem must be solved before the second problem. This is because the second problem is dependent on the answer of the first problem. This is fine for most software since it is written linear in nature. But for Parrel processing the first problem doesn't have to be solved before the second problem. Video Rendering is just one example of a parrel problem.
How your GPU works
Graphics cards don't just send a signal to your montiors. They have a GPU, and are capable of solving very complex problems in parrel. Where your CPU might have only 4 cores, your graphics card may have several hundred or even thousands of cores. They run at a lower clock speed ( typically under 1 ghz ), and the card also has its own memory. Sometimes as much as 4GB. Your graphics card was built to solve complex problems in parrel.
How to use your Graphics Card for Encoding
Most major video editing software ( Sony Vegas, Adobe Premiere Pro ) has the ability to utilize your graphics card to encode your videos. Nvidia Graphics Cards have what are called CUDA cores, which is just a fancy way of saying they have cores which are assesible to your computer for tasks other playing games. By using your GPU rather than your CPU you are able to render your videos in a fraction of hte time. How fast you can render these videos will depend on 2 things. How fast your hard drive ( or SSD
array ) is. And how powerful your graphics card is.
CPU vs GPU Video Encoding Comparison Baselines
For this test I will be using Sony Vegas Pro 12. I choose Sony Vegas Pro 12 over Adobe Premiere Pro CS6, because Sony Vegas did not have any minimal requirements to utliize my video card's CUDA cores. Adobe on the other hand requires you have a video card with at least 1 GB of RAM. My Computer has 2 x Nvidia GeForce 9800 GT video cards, each with 512 MB of RAM. Since it doesn't meet adobe's minimal requirements, Premiere won't even attempt to use it. The option to select your video card for rendering is actually greyed out. System Specs
Intel Core i7 920 @ 2.67 Ghz ( Bloomfield 45 nm ) LGA1366 Quad Core
12 GB Tripple Channel DDR3 1600 Mhz
176 GB RAID
0 volume ( consisting of 3 x 60 GB OCZ vertex 2 SSD
2 x Nvidia GeForce 9800 GT Video Cards with 512 MB RAM ( PCI-E 2.0 )
ASUS P6T Deluxe Motherboard
Sample Video used for Test
I shot some video of some fireworks the other night. My camera is a Sony a99. The video was Shot in AVCHD 1080P 60P with about a 26 Mbit data rate. The source video is about 34 seconds long. I have added some text and a PNG logo as an overlay. I will be encoding this video to 1080P 60P 28 Mbit, MP4. I have created a custom template to store the video encoding parameters since Sony Vegas's presets were not to my satisfaction.
Encoding Template Settings
These are the settings I used on my custom encoding template.
CPU vs GPU Encoding Performance Results
This is the time it took to encode a 34 Second Video to 1080P 60P 28 Mbit
|Encoding Method||Time to Encode|
|CUDA ( 9800 GT 512 MB )||00:02:03|
|CUDA ( 9800 GT 512 MB ) with screens off||00:02:03|
|CUDA (2 x 9800 GT 512 MB ) with SLI enabled||00:02:02|
|Open CL ( if available )||00:05:25|
Just to note that each of my 9800 GT video cards is driving 2 monitors each. I turned off my monitors to see if that helped the card render the video faster.
Results and Analyysis
As you can see encoding using the CUDA cores from my GeForce 9800 GT gave a significant improvement in rendering speed. However it seems that Sony Vegas will not use more than 1 Video Card for Rendering, even if you enable SLI link there will be no improvement in rendering speed.
After further research I found others with the same results. This is huge let down for anyone who invested into multiple video cards and prefered Sony Vegas over Adobe's Premiere Pro. Premiere Pro supposively does support SLI linked Video Cards, though it doesn't work with cards with less than 1GB of ram.
If you want to get the most out of Sony Vegas the best option is to upgrade to a single powerful video card. Of course Vegas 12 has been out for a while now. I suspect when Sony Vegas Pro 13 comes out they will solve this issue. It seems to be a pretty big selling point for Adobe.
Upgrading to a bigger Video Card for faster Rendering
Even though my Nvidia GeForce 9800 GT video cards give me a signifiant improvement over using the CPU, these cards are definitely not on the bleeding edge of performance for today's standards. When I originally built my PC about 3 years ago, these were not even the fastest then. I didn't have the need for big GPUs at that time. Considering I have about 4 hours worth of video to encode and it would take me about 16 hours to encode everything I have come to the conclusion that upgrading to a bigger video card would be a good investment..
So after pricing out the various options I settled on a PNY GeForce GTX 650 TI BOOST.
Here is how my new video cards compare to my old video cards
|Attributes||Old Video Card||New Video Card|
|CPU||GeForce 9800 GT||GeForce GTX 650 Ti Boost|
|Interface||PCI-E 2.0 x16||PCI-E 3.0 x16|
|Form Factor||Single Slot||Double Slot|
|# Cude Cores||112||768|
|Core Clock Speed||600 Mhz||980 Mhz|
|Boost Clock Speed||NA||1033 Mhz|
|Effective Memory Clock||1800 Mhz||6008 Mhz|
|Amount of Memory||512 MB||2 GB|
|S-Video / HDTV||1x||NA|
The new Video cards will arrive in a few days. After I install them I will run another test to see if upgrading to bigger video cards makes all the difference.UPDATE 6/26/2013
The GTX 650 Ti BOOST cards arrived today. I installed them with few issues. The Nvidia drivers would not install using the normal setup.exe. They kept failing during the install process. So I had to manually install the drivers for the video cards. After which I did the same encoding with Sony Vegas as I had tired with the 9800 GT , and to my surprize the 9800 GT was faster. I read somewhere that the GTX 600 series and higher cards are not yet supported by Sony Vegas Yet. If you want it to work you have to get a GTX 500 series or older card. I am returning these cards to NewEgg for a refund. I am going to wait til Sony Vegas Pro 13 comes out and see what cards it will support. Hopefully they start supporting video cards with Double and even Tripple SLI links. Sony Vegas 13 should be out this fall, so we don't have to wait too long. UPDATE 6/27/2013
I contacted NewEgg to RMA the 2 x GTX 650 cards. They were going to charge me a 15% restocking fee, which came out to about $51. I asked if I was to return these cards and buy a working card to replace them, could we elminate that restocking fee. 5 minutes later, they came back and agreed to do that. So I have ordered a single GTX 560 Ti which is a known working card with Sony Vegas. Along with some spare cables to take advantage of all 4 video ports. I have to give NewEgg a thumbs up on the customer support. After agreeing to eliminate the 15% restocking fee, they connected me with Brett ( on site technical expert ) who helped me compare the various graphics cards to find the right one for my project. I have already created a new article in which I will explore the Video Rendering Power of the GTX 560 Ti with Sony Vegas Pro 12
No Comments have been submitted