GPU Support?

Hulk wrote on 5/25/2006, 9:06 PM
I noticed in another post a few people are predicting GPU support on the next version of Vegas. Maybe someone can help me out here as I'm not exactly how a graphics card GPU will assist video editing routines?

I believe that a GPU accelerates Direct X and OpenGL graphics calls, which are in essence related to vector wireframe and shading units. This is great for rendering a "programmed world" but I fail to see how this can be adapted to 2D video editing work?

I know that some encoding/decoding functions such as FFT can be incorporated to assist MP4 work but other than that how can a GPU be used to speed up other video editing tasks, such as color correction or other non-3D generated effects, which is the bulk of them I believe?

I have the feeling that if this were easy to do or beneficial it would have been implemented long ago as GPU's have been around for quite a while.

- Mark

Comments

jrazz wrote on 5/25/2006, 9:10 PM
Look at Adobe Premiere's newest version and its spec sheet; that should explain it.

j razz

Edit: Here is the link
DavidMcKnight wrote on 5/25/2006, 9:15 PM
I think there is a hope that a GPU-enhanced version of Vegas would allow render speed to increase by some dramatic amount, whereby a 2 hour render - or encode - would now only take 30 minutes.
Hulk wrote on 5/25/2006, 10:19 PM
Thanks for the link. As I suspected only 3D manipulations of the 2D image seem to be accelerated in those 5 effects mentioned. In effect turning portions of the image into 3D wireframes with the video acting as the texture on the model.

I really don't think that's a bread and butter type of thing needing acceleration.

Hopefully there is more.
Zion wrote on 5/25/2006, 10:37 PM
It also said it will take advantage of preview and rendering.

Play flash again.

I would love to see some GPU acceleration.


ZION
rmack350 wrote on 5/25/2006, 10:44 PM
Evidently it's possible to do more general purpose things with a GPU. For instance there's an audio processor out there that uses the GPU.

One of the interesting things about PCI Express is that it has high thoughput to and from the system. AGP had high throughput out to the card but the return was much lower. The upshot of it is that there's room for new features in PCI express cards and you could very well see things like hardware blurs.

The problem, of course, is if it ties Vegas to a specific card. That's very un-vegas-like.

Rob Mack
mark-woollard wrote on 5/26/2006, 6:27 AM
Mark

You may want to take a look at this thread where I posted my test results showing the effect of GPU accerleration on Magic Bullet color correction filters in Vegas with SD and HD clips.

http://tinyurl.com/l7l9s

Mark
johnmeyer wrote on 5/26/2006, 7:53 AM
The essence of your question is HOW can (or does) a GPU speed rendering, when it is designed for speeding 3D, which has nothing to do with rendering. The answer is that the GPU is basically another very powerful processor which, during rendering is just sitting there doing absolutely nothing. Turns out the processor on some cards is "open" enough to allow its main purpose to temporarily be redirected to other tasks, such as rendering. On top of that, because of the nature of the kinds of things this processor has been optimized to do, it can be pretty darned efficient at the calculations required during rendering.

Some people think that GPU rendering is some sort of magic or that it is somehow better or more desirable than other identical approaches, such as multi-core and multi-processor. It is identical to those. Its only advantage is that, if you already happen to own a card that contains one of these processors, then you could get a big performance boost "for free" if the software (Vegas, Premiere, etc.) could use that processor during rendering or previewing. On the other hand, if you were buying a computer from scratch, then you could get the same performance boost (and maybe more) by buying a dual core or dual processor (or both). Of course if you could then add a GPU on top of that, things might get faster, although with two cores and two main processors, the overhead of apportioning the workload gets to be an issue.
GlennChan wrote on 5/26/2006, 1:15 PM
In some cases, a GPU can perform a task 30X faster than the CPU can due to its specialization. So for particular tasks, GPU accleration can definitely be worth looking into. Other tasks are impossible or very slow on a GPU.

From what I know about GPU acceleration, each filter has to be specifically re-written into code that will run on the GPU. It's not as simple as changing Vegas' rendering engine so that everything will now automagically be accelerated by the GPU. Filters have to be re-written to operate on the GPU.

What I've said in this thread is that you should ask for specific filters to be faster. GPU or CPU optimization has to be done for each filter. Gaussian blur could be real-time (on the CPU) if enough people requested it.


CPU optimization would likely be the preferred route, since you don't run the risk of graphics cards incompatibilities. However, there's sometimes limitations to what a CPU can do. So a GPU approach may be appropriate in that case. Just let the developers know that:
A- You don't mind hardware incompatibilities if it means greatly improved performance.
B- You don't mind algorithms looking different. Because if they make a filter GPU-accelerated, rewriting the algorithm may mean that it looks slightly different in the GPU version than the CPU version. And they need to write both, because the GPU version isn't always going to work (some people may have extremely slow video cards like the integrated graphics stuff).

Coursedesign wrote on 5/26/2006, 1:44 PM
B- You don't mind algorithms looking different. Because if they make a filter GPU-accelerated, rewriting the algorithm may mean that it looks slightly different in the GPU version than the CPU version. And they need to write both, because the GPU version isn't always going to work (some people may have extremely slow video cards like the integrated graphics stuff).

Right. For this reason, all the GPU capable programs I have seen so far let you optionally select CPU rendering for consistency when doing team editing.

I'm wondering if there is even any useful capability in today's integrated graphics, looks pretty lame. Lame to the Extreme (no slur against Intel intended. I think... :O).
David Jimerson wrote on 5/26/2006, 3:57 PM
The NLE which probably best utilizes the GPU is Avid Liquid, and it uses separate effects editors for CPU and GPU.
jaegersing wrote on 5/27/2006, 2:59 AM
Vegas with Magic Bullet Editors makes great use of the GPU for rendering (provided you have one of the "chosen few" graphics cards). The performance increase is very impressive.

Richard Hunter
David Jimerson wrote on 5/27/2006, 6:59 AM
It's Magic Bullet doing that; it's not Vegas. It won't spill over to anything else Vegas does.
jaegersing wrote on 5/27/2006, 10:08 AM
Hi David. Yes that's true. But it does show the potential improvements for Vegas if Sony choose to use GPUs in future, to beef up the preview and rendering performance.

Richard