Page 1 of 1

Speed Test would be optimized for timeline scrubbing not rendering H.264?

Posted: Tue Mar 06, 2018 2:08 am
by gordonmcdowell
NeatVideo recommends a combo of CPU + GPU.

But when I render H.264 load is almost entirely put on CPU not GPU. (Premiere Pro CC 2018 using Media Encoder.)

I can generally get faster overall render times by rendering uncompressed MOV then doing H.264 as a 2nd pass.

However, if short videos and to keep it simple, I often just render the H.264 directly in single pass.

Any advice for optimizing that? I'm using a GeForce 1080 Ti (and 6-core 12-thread older i7) and feel like I should put the entire load on the GPU, even if that's not the automatic recommendation. That way (presumably) CPU will be pinned compressing H.264, and the GPU will mostly focus on NeatVideo.

As it is the GPU is only hitting about 10% load during H.264 render, and I think that's almost entirely NeatVideo... (but the Task Manager only shows "copy" as the function being used.)

I'll be doing some test renders, but if there's any scenario I'm overlooking (like why one would always want both and not strictly GPU) please share thoughts.

Re: Speed Test would be optimized for timeline scrubbing not rendering H.264?

Posted: Tue Mar 06, 2018 10:49 am
by gordonmcdowell
Encoding Time: 05:21:40 ...using Neat Video's optimized CPU/GPU balance.
Encoding Time: 03:53:27 ...using Neat Video with only GPU.

...so maybe NeatVideo might want to consider that when PPro is video encoding (at least to H.264) it pins the CPU and barely touches the GPU. So a more optimal balance (for H.264 encoding) would be to not bog down the CPU at all.

Re: Speed Test would be optimized for timeline scrubbing not rendering H.264?

Posted: Wed Mar 07, 2018 8:52 am
by NVTeam
Thank you for your question and test results.

This depends on the nature of all operations done during rendering/exporting. The whole render/export process involves noise reduction, encoding the final video, decoding of original video, applying any other effects used in the project. Each of these operations may have different CPU and GPU needs and preferences. Neat Video's Optimize tool currently measures the performance of Neat Video itself with different combinations of CPU cores and GPUs. It does not measure or optimize the overall global performance of the whole render process because it cannot do that from its limited perspective. However you can control and adjust the whole process and potentially further optimize it for better overall performance. For example, you can change the way Premiere itself works with CPU vs GPU (see the settings of Mercury Engine in Preferences of Premiere). You can change the way Media Encoder uses the GPU (at least in some versions). You can change the way Neat Video uses the CPU and GPU. There may be similar adjustments in the codec settings too. So it does make sense to try different combinations of settings in those components to find the combinations that achieve the best overall performance. You can certainly use any custom combination in Neat Video itself, even if it is different than the combination found by its Optimize tool. Another possible change that may deliver better speed is to export using Premiere itself (instead of doing that via Media Encoder). Premiere may be faster than Media Encoder.

Again, it is very difficult to give a general advice that would work in all cases. The only way available to us to directly try different combinations.

Thank you,
Vlad

Re: Speed Test would be optimized for timeline scrubbing not rendering H.264?

Posted: Wed Mar 07, 2018 11:58 am
by gordonmcdowell
Vlad thanks for your thoughts.

I did notice I was wrong that only "copy" was used by GPU, compute_0 is also used (about 15%) during encode (with NeatVideo used in project). Task Manager just wasn't showing computer_0 visually by default.

So NeatVideo is putting a load on the GPU, more so than I first thought.

Re: Speed Test would be optimized for timeline scrubbing not rendering H.264?

Posted: Wed Mar 07, 2018 2:10 pm
by NVTeam
Yes, that is a known feature of Task Manager.

It may be useful to monitor the GPU load using something more specialized like MSI Afterburner.

Vlad