📜 ⬆️ ⬇️

CUDA in Adobe Premiere CS5: Is the use of a budget video card justified?

Adobe Premiere CS5 and CS5.5 allows you to use nVidia CUDA technology for hardware accelerated rendering video effects. However, the official list of compatible video cards that provide support for this functionality is rather short and is limited to models of the upper price range.

Along with this, there is a well-known hack that allows you to enable support for hardware acceleration on much cheaper solutions. However, a “hack” can be called this trick with a big stretch - “hacking” of Premiere is reduced to writing the name of your video card into a text file lying in the root of the program. The “hole” is made so user-friendly that it causes an involuntary question, was it not specifically left?

Under the cut, my impressions of working in Adobe Premiere CS5 with a video card of the average price range and some empirical conclusions.
')

When I was going to upgrade the video system of the editing computer, I tried to solve several problems at once. First, provide simultaneous support for three monitors and a projector; secondly, to keep the computer noise at the same (very low) level; thirdly - to meet the more or less reasonable budget (up to 8,000 rubles). Anyway, my choice was on two nVidia GeForce GTS450 1024Mb dual-fan cards made by Gigabyte, satisfying the set tasks. I put the cards in a computer running Windows 7 with the following essential pieces of hardware:


“Hacking” Premiere went without any problems and, after making sure that the hardware acceleration was working, I immediately tried to understand what it would bring to the installation process (I took video cards with Manibek, hoping, if they didn’t like it, to exchange for more powerful). By the way, how to make sure that hardware acceleration is enabled? First, the Mercury Playback Engine GPU Acceleration item should appear in the settings of the Premiere project in the Video Rendering and Playback section:
image

Secondly, by pressing Ctrl + F12 you can get into the Premiere console, and by changing the value of the EnableDogEars parameter to “true”, you can see the rendering statistics directly on the image. Like this:
image

For the tests, I took 1920x1080 files from a car dvr (h264) and a Sony EX3 (MPEG2) camcorder. To begin with, I conducted the simplest experiment: put one layer of video on another, cutting off (crop) half of the top frame. In a performance study on ixbt.com, a similar example was cited with six video tracks arranged one above the other with different effects. All of them were successfully reproduced on the professional Quadro FX 4800, and the first four on the gaming GeForce GTX 285.

Alas! When I tried to play in my case, after a couple of seconds the picture was “stuck”. Thus, the card failed even with two layers of Full HD h264 video. I’ll draw your attention to the yellow bar above the fragment on the Timeline - it indicates that, according to Premiere, this fragment should have been played in real time without any problems. With 1920x1080 MPEG2 video, the situation turned out to be slightly better - sticking appeared only with three layers.
image

In the following experiment, I refused to overlay video layers, and tried to apply several hardware effects on one layer of the image:
image

And even more effects:
image

For MPEG2 on one layer, I never managed to get the dropped frames, even adding 10 “heavy” filters. Only when two layers overlap each other with 22 filters in total, the rendering performance of the preview finally dropped to 15 FPS.
image

I note that when hardware acceleration is disabled, even a single “Curves” filter does not allow for real-time playback on Core 2 Quad Q9300. Conclusion : there is enough hardware resources for processing one layer of any Full HD video in real time, and two layers of MPEG2 1080p with a reasonable number of filters.

In the following experiments, I superimposed on Full HD layers of standard definition video (DV AVI), and also worked with the layers in “standard” resolution (720x576). Without tiring details: the map copes brilliantly with any reasonable number of layers.

What to do with all this?


So, the intermediate result is as follows: the video card cannot cope with the layer-by-layer processing of Full HD h264, however, it is quite suitable for working with effects on one layer of such a video, and two layers of MPEG2. However, are the benefits of hardware acceleration exhausted by this? For the experiment, I turned off hardware acceleration:
image

As you can see, the bar above the fragment became red - Premiere no longer expects the fragment to be displayed in real time. Rendering speed is less than 1 FPS. To achieve smooth playback, it will have to "render". In the "software" mode, this process on Core 2 Quad Q9300 takes about 26 minutes, while the average peak power consumption of the computer system unit increases to 150 watts:
image

Now turn back the hardware acceleration. The strip turned yellow again - Premiere "thinks" that it will be able to reproduce the piece smoothly. But we know that in fact the power of the video card is not enough now. In order to forcefully render a fragment, instead of the usual Enter, you must call the “Sequence-> Render entire work area” (in the “Edit -> Keyboard Customization” of this function, you can assign a hot key, for example, the same Enter).
image

What do we see? 2 minutes against 26 in software mode! As you can see, hardware acceleration even if it cannot provide realtime playback, but it accelerates rendering of complex scenes 10 times! The consumption of the system unit at the same time in peak naturally reached 200 watts.

Findings:




Empiric


This is my personal opinion, not claiming to be true.

Hand on heart, most of the video editing tasks, even the "average" card accelerates very successfully. Why did Adobe limit official support to only the very best maps? Because in the private task of layer-by-layer overlaying Full HD, the video card instantly retracts, and the mechanism for detecting such situations has not been developed. In hardware acceleration mode, the bar above the timeline always remains yellow, no matter how many layers you put, regardless of the actual playback speed! But, in theory, it should become red if the video card's power is not enough, after which this fragment could be “counted” in the usual way (by pressing Enter).

Thus, if Adobe expanded the official list of video cards "down", many users who are not familiar with this feature of the program would face problems with layering video. On the other hand, the “open gate”, i.e. an extremely simplified way of including new video cards in the list of compatible ones allowed to cover a niche of enthusiasts for whom minor inconveniences may be less significant than the cost of equipment (and not just the cost: in addition to the price, I am still very concerned about the noise of the solution)

Offtop:


Quite briefly, a couple of interesting observations on the work of video cards (made on monitoring temperatures and loading maps during installation using the nVidia Inspector ). It turns out that it doesn’t matter at all what kind of video card on the monitor there is a Preview window at the moment: effects will be calculated on the video card that is the main one in the OS. At the same time, a simple launch of Premiere with hardware acceleration leads to a substantial load on both video cards: even if you do not mount anything, the temperature of both GPUs with Premiere running increases by 10-15 degrees.

PS


There is an opinion that Premiere often behaves inconsistently on various platforms. That is, with the seemingly identical formal parameters of iron, the performance on different models can be very different. Therefore, I intend to repeat the experiments performed on a more modern motherboard and see if anything changes. If the topic is interesting to Habraosoobshchestvu, happy to share the results.

Source: https://habr.com/ru/post/128751/


All Articles