Beiträge von Joe24

    I was not aware people run parallel instance of it

    In a multi-socket server/workstation system, it's normal to have multiple jobs running, each confined to its own NUMA node. Likewise if you're running multiple hardware encoders, each with different render projects. This is part of why VoukoderPro is such a big deal.

    To be clear, the memory leak issue is occurring even with a single render in a single instance of Vegas. Simply starting and stopping the same render over and over will do this, as in Post #5 above. Leak still present in version 0.7.2.9.

    No change in version 0.7.2.8. Tried just a single render, and the problem exists there too.

    I tried to see if there was an upper limit to the memory usage. Eventually VoukoderPro does refuse to run, displays error "Unable to start VoukoderPro: Undefined error!" Screenshot below is taken at this point, after starting and stopping the same render many times. As you can see, the total video memory usage has grown to over 35 GB.


    The last few lines of the log file at the time of the crash are:


    And here's an example scene that causes the issue:

    temp v0.1.scene.zip

    I'm afraid it isn't fixed in 0.7.2.7. Maybe improved, but still an issue.

    Sequence of actions starting and stopping the same render job, with VRAM usage (8 GB card):

    • Windows idle: 0.4 GB
    • Loaded 2 instances of Vegas 20: 1.8 GB
    • During 1st render: 3.6 GB
    • After 1st render: 3.0 GB
    • During 2nd render: 4.8 GB
    • After 2nd render: 4.1 GB
    • During 3rd render: 5.9 GB
    • After 3rd render: 5.3 GB
    • During 4th render: 7.1 GB
    • After 4th render: 6.4 GB
    • During 5th render: 7.8 GB (paging)
    • After 5th render: 7.2 GB (possibly paging)
    • During 6th render: 7.8 GB (page 10 GB)
    • After 6th render: 7.2 GB (paging)
    • During 7th render: 7.7 GB (page 12.x GB)
    • After 7th render: 7.3 GB (page 11.3 GB)

    Screenshot taken partway through the test run:


    Graphics card memory doesn't seem to be released after encoding with VoukoderPro. Up to and including v0.7.2.6.

    I have GPU globally disabled in Vegas 20 (because it slows rendering down - it's a Vegas thing!).

    Typically I'm running 2 instances of Vegas in parallel, and rendering in both simultaneously using NVENC through VoukoderPro. My first pair of VoPro renders usually use about 3 GB of VRAM. When the renders end, the memory is not released. If I run a second set of renders, now usage is up to 6 GB. If I run a third set of renders, now usage is 9 GB (paged, my current card is 8 GB). And so on.

    This behavior has not been observed with other render methods, including Voukoder 13.0.2. These other methods release the video memory as soon as the render is stopped/finished.

    The memory is released if I restart Vegas.

    Sounds like maybe the same issue I had, related to which base VoPro template I used in Vegas?

    See post #17 in following thread:

    Joe24
    31. Juli 2023 um 07:28

    does it work if you select the 'YUV 4:2:0 (8 bit)' template?

    Yes that was the problem. I guess I based my templates off of the VoukoderPro YUVA template in Vegas, like you said.

    Started fresh with the YUV 4:2:0 8-bit template instead, linked it to my desired Scene, and it seems to render. I'll test it more tomorrow. But it does appear to encode what I told it to do, and we do finally seem to have the speed advantage in rendering.

    That being the case, I have a suggestion for your consideration. Once a VoPro template in Vegas is renamed, there is no way to tell what pixel format is being exported from Vegas. And that can lead to confusion, as just witnessed.

    So why not have a dropdown menu in the Vegas template itself which allows you to select which pixel format to use? Perhaps accompanied with a helpful hint that if you use YUVA with certain CUDA functions, you're screwed! See below for a mockup of what I mean.

    This would serve as both control of the settings, and visual feedback of what the current settings are.


    Question: What video/picture format does Vegas pass to Voukoder? Is it raw bitmap, or some form of h.264? If h.264, maybe h264_cuvid would offer an advantage over hwupload_cuda. I found that this was necessary for processing h.264 source material in FFmpeg, seems to be able to cope with a lot of different h.264 flavors. Maybe this wouldn't be useful here. Just a thought. See my command lines in Post #4 above for how I used this.


    P.S.: I'll also add the 'hwdownload' filter, but I doubt it makes much sense to upload the frame to gpu, scale it, download it to the cpu, then upload it again to encode it ...

    In some specific cases it might make sense. Depends on if you need some oddball filter that NVENC doesn't have, or you might want to balance the workload between your GPU and CPU, or even multiple GPUs with different jobs. There are outlying cases where it makes sense.

    the codec h.265 doesnt seem to have loaded into my copy of Vegas 13.

    Voukoder doesn't 'load any codecs into Vegas'. It won't give Vegas 13 the ability to open h.265 files. What it DOES do is give you a way to encode your video in Vegas 13 as h.265 using Voukoder in the Render As menu.

    Depending on your computer's capabilities, Voukoder can perform h.265 encoding by using either software (x265) or hardware (AMD, Nvidia, Intel).

    Both encoder nodes are set to CUDA, as you can see in the following exported scene. Tried it both ways (CUDA / YUV 420).

    temp scene v0.1.zip

    When working with h.264/h.265 input in FFmpeg command line, I found I had to use h264_cuvid/hevc_cuvid instead of hwupload_cuda to avoid a similar auto_scale_0 error.

    On the other hand, when working with uncompressed AVI input, I'd have to use hwupload_cuda and be very careful to feed it a supported pixel format (YUY2 in that particular case). See my command-line options in post #4 above for working examples.

    Not sure what format the Vegas -> VoukoderPro link uses. If h.264, then h264_cuvid might work instead of hwupload_cuda?

    In any case, something seems unhappy about the YUVA pixel format.


    Hmm, can't get it to work. Rendering fails immediately with message: "Unable to start VoukoderPro: FFmpeg error."

    Excerpt from the log file: