Redering horsepower through the graphics card?

zstevek wrote on 1/18/2003, 9:45 AM
Does anyone know if it is possible to use your graphics processor to aid in the rendering of MPEG2 videos (or any other format)? I have an ATI Radeon 9700 Pro and this card is extremely fast and it boasts the First VPU chip (video processing Unit). Is it possible to tap into the horsepower this chip has to reduce rendering times for my projects?

If this cant be done it sure would be a great feature to include in upcoming releases!

Comments

starixiom wrote on 1/18/2003, 10:11 AM
That is a great question. I know that you can allocate unused ram on your video card and use it as system ram; but i am not sure how you could use the VPU on the new Radeons for added processing power. Let me check into this.
BillyBoy wrote on 1/18/2003, 11:50 AM
Read S L O W L Y

Vegas uses software encoding. Running it through a hardware card would accomplish nothing unless they also came up with hand wired code to do it. That would be a huge mistake, because that would mean for faster rendering you'd have to go run out and buy an EXPENSIVE hardware card on top of Vegas which in the next version seems to be set to have a more expensive price tag already.
zstevek wrote on 1/18/2003, 12:37 PM
Billyboy,

I am not sure why I had to read your post slowly.

Video games can use the new graphics cards to do some amazing things with directx 9.0. If video games use the card to accelerate the processing and redering of data, why can't Vegas?
starixiom wrote on 1/18/2003, 1:27 PM
What i understood from the original post was that unused resources from the video card could be used in addition to the cpu to help render a file. When i say resources i mean the processing power of the video card. Not that the video card itself would render the file. I didnt get the impression that s(he) was looking for the video card to act like a matrox rt2500 or similar product.

Side note: If i am not mistaken VPU stands for "Visual Prococessing Unit" not video.

Please correct me if i am wrong.
tadpole wrote on 1/18/2003, 1:55 PM
zstevek -

you can read this one as fast as you want ;)

Thing about vegas, is that it uses software encoding. Which is great! because you don't need to invest in any expensive graphics/extra-hardware - everyone has a cpu so everyone can play along with vegas..

I do wish vegas would support all the fast new dedicated VPUs/add on cards...BUT.. to do so, they would have to write another set of software specifically for, say your ATI Radeon hardware - then one specifically matrox cards, another for canpus.. and so on so on...

Its simply uneconomical for sofo to spend the time writing software for cards that only handfuls of people have.

PERFECT example is the gaming industry!!!
Although DirectX 8..9... boast all these WONDERFUL new features (t/l programmable pixel shaders etc etc) We have YET to see a developer create a game which takes full advantage of this new hardware tech... Reason?
$$$ - nobody is going to invest the $$ to develop a game which they can only sell to relatively VERY small nitche of PC users with say a Radeon, or Geforce4 card.

Of course one could always say if they finally made true DirectX9 game, gamers would go out and buy the card to be able to play it..... very risky venture though
Think some of these card manufacturers will need to pony up some support to game developers to get the job done.....

with processors continuing to get faster everyday - vegas gets better.
this scalablity really makes vegas a sweet option.

hope that answers your question

zstevek wrote on 1/18/2003, 2:43 PM
tadpole,

Isn't this what DirectX 9.0 is supposed to do? The software company writes their software that supports specific hardware features that may or may not be available on a persons PC.

Everyone has some sort of video card in their PC these days so I just think it would be a great Idea to somehow utilize the horsepower in a specific hardware device that some people may have.

Thanks for your explanation.
mikkie wrote on 1/18/2003, 3:47 PM
Maybe this will help...

The short answer is it won't work, and the ATI retail version of the Radeon doesn't strictly speaking process mpeg2 or encode or decode it.

The long answer: A while back when CPUs were quite a bit slower, they did have DVD cards (Creative made one), and later a few graphics cards also had a limited version of this DVD decoding feature. Nowdays a 9700 might make the picture look a bit better, but something like PowerDVD and your CPU are doing all the work, though a bit of the advertising blather seems to have lived on.

As for using something like a Radeon for a 2ndary cpu: while you could say a processor is a processor, the truth is that there's a great deal of difference between a Radeon and an Athlon. And there's a great deal of difference between a motherboard and a graphics card. By the time you wrote the software to reach a Radeon processor for example, if it could be done, it wouldn't do you a whole lot of good & you'd have spent more then the cost of a multi-processor motherboard & a couple of CPUs.

Graphics cards can help (check out what evans & sutherland do with 4 Radeons) when you're rendering 3D graphics as a video stream that can be displayed & recorded. And there are specialized *video* cards that either are separate from the graphics card or are built on top of them - they can help rendering effects &/or possibly to mpeg2 etc., saving the results to a file on your hard drive.

As always there are probably exceptions, but this is the best I can do by way of explaination.

hope it helps
mike
wcoxe1 wrote on 1/18/2003, 4:48 PM
It comes down simply to this: The super video cards are designed for GAMES, nothing else. They are great at certain things, but not others. Not only that, they don't all excel in the same way, or doing the same things. Oh, they are all fast doing the right kind of game, but some do some PARTS of a game better than others. They are NOT equal, even among game boards.

If everyone in the world used exactly the same graphics card, with exactly the same graphic chip, then it would make sense to have software that catered to it. But, obviously, that doesn't happen. Anyone who ever upgraded from one card to another can tell you, they are different, and incompatible. New drivers, some software doesn't like something, etc. Even if everyone had the same BRAND, but different models, it would prove unsound to try to cater to the hardware.

Just look at what happens to Pinnacle. Every time there is a new major upgrade or piece of software, you pay a LOT, and you get a card for THAT version of the software. The software changes, you have to buy a card. After awhile, you realize that you should have put that money into a faster processor (CPU), not some dedicated graphic card that only works with ONE piece of software.

You can make it more generic, of course. That is what happens with most high end graphics cards. They are great at a limited few things, but they do nothing if you are not doing THAT particular thing. NONE of them are optimised for full speed at EVERY thing.

Witness what happens when you leave the world of games. They offer little, if ANY speed improvement. Some of them, when tested, are not even as fast doing ordinary things as less expensive, less dedicated cards.

All in all, it is better to put your software power in something that can ALWAYS be counted on to be there. Simple CPU power. You KNOW that the CPU will correspond to the INTEL/AMD type, so you don't have to worry about something odd being missing.

That way, too, lies simplicity and upgradability. You can take the current version of Vegas from a single mid-level CPU to the fancy new multi-processor, hyperthreaded, etc., types, and it works. WORKS!

AND, when VEGAS gets more powerful, no new hardware card has to be upgraded every time you upgrade the software. Oh, so simple, and smart.

Put your money where you KNOW it counts. CPU dependability.
DataMeister wrote on 1/18/2003, 6:59 PM
Some of you guys talking about hardware differences are forgetting the reason that the OS was invented.

JBJones
zstevek wrote on 1/18/2003, 7:36 PM
It just seems like directX could be used to enable specfiic hardware features built into your graphics card and possibly reduce your rendering times.

http://www.microsoft.com/windows/directx/productinfo/overview/default.asp

Microsoft DirectX® is an advanced suite of multimedia application programming interfaces (APIs) built into Microsoft Windows® operating systems. DirectX provides a standard development platform for Windows-based PCs by enabling software developers to access specialized hardware features without having to write hardware-specific code. This technology was first introduced in 1995 and is a recognized standard for multimedia application development on the Windows platform.

What DirectX Does and How
Simply put, DirectX is a Windows technology that enables higher performance in graphics and sound when you’re playing games or watching video on your PC.

At the core of DirectX are its application programming interfaces, or APIs. The APIs act as a kind of bridge for the hardware and the software to "talk" to each other. The DirectX APIs give multimedia applications access to the advanced features of high-performance hardware such as three-dimensional (3-D) graphics acceleration chips and sound cards. They control low-level functions, including two-dimensional (2-D) graphics acceleration; support for input devices such as joysticks, keyboards, and mice; and control of sound mixing and sound output. Because of DirectX, what you experience with your computer is better 3-D graphics and immersive music and audio effects.

Windows 98, Windows 98 SE, Windows Millennium Edition (Windows Me), Windows 2000, and Windows XP support DirectX 9.0; the latest version that Windows 95 can support is DirectX 8.0a. For more information, please refer to the Frequently Asked Questions.

mbo wrote on 1/18/2003, 8:10 PM
so, maybe it could be done in a form of plug-in rather than in the software itself...interesting.
Michal
tadpole wrote on 1/19/2003, 12:47 AM
zstevek -
Thing to remember is that the horsepower in todays Gforce/Radeon 8500 etc..
is for rendering in 3D - not so much video (look towards your Canpus DVstorm2 cards for that..which boast 1:1 mpeg rendering!! they r designed from ground-up specifically for video editing)

as for dx9 - really not sure since i haven't read the specs (so maybe i should shutup!? =)... but, the whole purpose of dx since the beginning has been to alleviate software developers from having to write low-level routines for different hardware.... but, no matter how well it 'communicates' between hardware n software, you still need 2 sets of code - ?
1 set says if hardware is present, render the scene this way... if hardware isn't there, 2nd set says do it this way then..

at least its this way for dx8 video game engines (which, in a lot of cases, would also mean game developers would have to create 2 different sets of artwork for each seperate engine ((in order to fully utilize the programmable shaders yet still support non-programmable videocards)))...

really can't say if dx9 'fixes' this, but can't imagine it does...

regardless of this, and regardless of benfits of 'tapping' into the power of your 3d card (if any), sofo would have re-write all their routines to be Dx9 compatible...

lots of work which i don't see happening.


Really though - most of the effects/transitions we use the most are previewed just fine on fast cpu system.... click render before ya go to bed ;)

(not saying realtime-hardware (like for mpeg2 compression) wouldn't be nice...its just not very practical for the time being)












mikkie wrote on 1/19/2003, 8:44 AM
In the olden days there was DOS, & then MS in it's infinite wisdom copied a bit from the MAC world & we had windows. Games and such were still done in DOS -- takes time to go through the windows layer of software to get to the graphics card etc. MS didn't like this, wanted windows games, so DX was created to in effect tunnel though some of the BS as code went on it's merry (but hurried) way get to the hardware. DX is a shortcut basically, or rather a whole bunch of them, that allows a game say to bypass some of the layers of code that stand between the application software and the hardware drivers on your system. If the hardware drivers are not there, or don't do what you want, DX is not going to help you - neither is windows. The directions to do whatever have to be written into the driver software which is owned by the company that made the card.

As for the hardware itself, I did check & the newest Radeon *MAY* be able do something helpful *IF* ATI either released the code so someone else could spend a ton of time writing driver software, or ATI spend a bunch of money having it's own developers do so. Problem is, the development cycle on something like that would be such that your Radeon 9700 would be long replaced by the time the software was final.

So in the long run, if you want an orange, buy an orange, & if you want an apple, buy one -- don't expect to buy a dozen oranges and make apple pie. If you want a gaming card, buy it, & if you want something to speed up your renders, buy that.

The PC world is full of examples where folks have tried to get something out of hardware that the hardware was never intended to do - usually it fails & people get all upset 'cause whatever doesn't work just like the product they should have bought in the first place, or worse, trying to get it to work they destroy it.
shawnm wrote on 1/22/2003, 1:50 PM
Does anyone know if it is possible to use your graphics processor to aid in the rendering of MPEG2 videos (or any other format)? I have an ATI Radeon 9700 Pro and this card is extremely fast and it boasts the First VPU chip (video processing Unit). Is it possible to tap into the horsepower this chip has to reduce rendering times for my projects?

If this cant be done it sure would be a great feature to include in upcoming releases!

*******************************************************************************
Hey zstevek,

The answer to your question is yes and no - although the newer generations of ATI graphics cards will not help in MPEG encoding or compositing, they will be beneficial in other video applications like particle effects generation in post production. Currently VV doesn't use particle effects (unless you count lense flare), but other programs like Commotion and Particle Illusions use OpenGL to render and preview these kinds of effects in real time. Right now, ATI is working on tools for 3D Studio Max and Maya (among others) that will use DX9 to enable artists to preview textures, lighting and shading effects in real time. Imagine, cinema quality effects in real time, not in 5 years, but next year - and you won't need a cluster of super powerful computers to do it.

Hope this helps,

Shawn
twinankhs wrote on 1/22/2003, 5:13 PM
I have found that you Do get some acceleration by using a newwer ATI card (7500, 8500, 9700 etc.) in the MPEG playback section. I tried it on all the cards I have from Rage Pro up to 9700, and Mpeg playback is a little faster and better with each new card. As Far as using OpenGL or Direct X these formats have been around for years, and Vegas Video only needs to implement the API (Application Programming Interface) for their program. It would gain some performance for the subsystem if the video card rendered all the graphics using OpenGL or D3D, such as waveforms, the menu, backgrounds, etc. It would also help in "Flying 3D Text" cases and overlay of OpenGL graphics rendering in real time. I will promise to test it if you implement some OpenGL function in this program. I was not able to Edit an MPG file with an old card (too slow) but was able to do so with a newwer card, because of the MPEG decoding speed being faster....
JohnnyRoy wrote on 1/22/2003, 5:47 PM
I think the original post was a good feature request. Both Pinnacle Hollywood FX and Ulead Cool3D will take advantage of your 3D graphics card via DirectX to render scenes faster. The increase is significant in Hollywood FX from my personal experience with it on my GeForce4 ti4200. Now that Vegas 4 includes even more 3D transitions, and since SoFo is a big supporter of DirectX plug-ins (I’ll bet they have more than a few DirectX gurus in house) it would be nice if they could look into taking advantage of doing some rendering via DirectX so that those of us with an ATI or GeForce card can benefit from faster rendering times. It should not be required hardware but it would be nice to use when its there since other vendors are starting to do this.

~jr