Need some help. Hitfilm Express + RTX 3090 issues

ggperformance
ggperformance Website User Posts: 2 Just Starting Out
edited March 17 in HitFilm

Hello,

First of all, since around October 2020 that I am using Hitfilm Express, is a great tool and easy to use but I am running into issues that I could not find answers searching on google.

Let me tell you my specs:

CPU: i9-10900k 5.1 Ghz, GPU: RTX 3090, SSDs: Samsung 970 EVO 1TB and 860 EVO 2TB, RAM: 32 GB DDR4 @ 3600mhz, OS: Windows 10 Home.

I have a few issues so let me start with the first one.

Issue #1) The 'Viewer' tab. I work with mp4 4K footage for my youtube channel, mostly gaming footage (4K at 60 fps), footage is recorded by nvidia shadowplay or streamlabs obs.

The viewer tab, lags, get stuck, doesn't play correctly most of the times. Some time is impossible to preview footage properly. This is very weird because I have a lot of free resources on my PC and still the viewer lags/stutter etc. Even worst when I add transitional effects. Footage from streamlabs obs, that are smaller in size and bit rate comparing to shadowplay, are even worst to preview in the viewer tab.

Issue #2) I love doing composite shots and create customized stuff/effects, but when I have composite shots and I want to export to .mp4 4K 60 fps, hitfilm stops the export after 1 min with an error message about OpenGL and running out of memory? The RTX 3090 have 24GB of VRAM and my system got 32 GB of DDR4, and when hitfilm is exporting and I monitor resource usage, hitfilm express is NOT using the 24GB of VRAM, so I don't understand how is running out of memory. This error ONLY occurs when I have composite shots, doesn't matter what type, sometimes having just a composite shot for text just cause the issue. I have to restart the export about 3 times, and then it works fine...

Issue #3) Because I think issue number 1 and 2 are related to resources, why is Hitfilm express not using all the resources available? What is stopping the program to use more VRAM for example, or more RAM. I only see CPU having some spikes to 100% very rarely. Is there some setting/setup that I am missing here to allow Hitfilm express to utilize better the resources? All export and projects are saved on SSD drivers (Samsung 860 EVO 2TB).

Thank you very much 😀

Alex


EDIT: When I monitor I see my GPU is at around 9%~28% most of the times, with occasional spikes to 100% just for a second then back to 9%~28%, I see Hitfilm express only using 3GB of VRAM out of 24GB and 2 GB of RAM.

AH and the error I get now all the time randomly is:

"An OpenGL error occurred when trying to render your project and the application must now exit. Do you want to save your project first?"

I don't even have composite shot on this project, and getting this error all the time.

Comments

  • TheBenNorris
    TheBenNorris Staff Administrator, Website User, Imerge Beta Tester, HitFilm Beta Tester Posts: 1,848 Staff

    Hi there sorry to hear you're having trouble. Could you send us a support ticket so we can try to get to the bottom of this? It would be very much appreciated.

    www.fxhome.com/ask

  • spyresca
    spyresca Website User Posts: 180 Enthusiast
    edited March 18

    Use "mediainfo" and provide the quality of your footage (i.e. is it variable frame rate or have other oddities?). Even OBS or Nvidia can produce problematical video if not set up correctly. In which case, trancoding the the footage before importing into HF might make a difference.

  • Triem23
    Triem23 Moderator Moderator, Website User, Ambassador, Imerge Beta Tester, HitFilm Beta Tester Posts: 19,417 Ambassador
    edited March 18

    As Spyreca notes knowing more about your video might help. Generate a "TREE" report using a free program called MediaInfo here:

    MediaInfo tutorial:

    Shadowplay and OBS, by default, generate Variable Frame Rate (VFR) video. If you've recorded "60fps" video, VFR means instead of going "60, 60, 60, 60, 60, 60, 60, 60," you're getting something like "60, 30, 50, 45, 60, 18, 32, 55." This puts a lot of additional stress on Hitfilm as it tries to fit a "45" into a box built for "60." VFR can also cause other issues down the line, like audio desynch, flicker/stutter on output, etc.

    For VFR footage it's better the transcode to Constant Frame Rate (CFR) before import to Hitfilm. Free software like HANDBRAKE can do this. OBS can be changed to record CFR. I'm not sure about Shadowplay.

    Fixing the VFR issues will improve performance.

    Regarding other issues.... unless something has changed in the last couple of versions of Hitfilm, while Hitfilm DOES multithread it's using a single thread per video stream. What this means is, using one or two streams won't blaze through as all threads kick in, but it means that performance should stay constant as you add in more layers.

    I'm not sure what improvements have happened in the last couple of versions, but CEO Josh Davies noted in a podcast that hitfilm doesn't (yet_) take full advantage of massive threaded CPUs like Threadrippers. Hitfilm was optimized for 2 to 8 core machines.

    Unless things have changed in the last couple of versions, Hitfilm has a bit of a serial process. The CPU handles video import from the drive while the GPU is idle. The GPU calculates and renders frames while the CPU idles. Then the CPU encodes to disk while the GPU idles. This does mean you're not even going to see Hitfilm doing something like utilizing 90% of CPU/GPU all the time. The usage percentages you report are fairly typical for Hitfilm.

    I'm not certain about VRAM implementation, but I suspect Hitfilm isn't "USING" all 24GB of VRAM because you're not actually feeding it 24GB of Data. For sake of argument a 3840x2160, 60fps video is about 1.5 GB/second of data flow, Plus whatever effects are added. If you're not using 3D models and other assets being held in VRAM, that's about the Data in use (and remember, HF calculates per-frame, so we're talking about a mere 24MB per frame). That means you can stack up a thousand 4K/60p layers before hitting that VRAM cap. But, you will be able to use some MASSIVE model and particle setups....

    Hitfilm doesn't use RTX. Those features of the Nvidia 2xxx and 3xxx series are pointless for hitfilm.

    Triple-check your drivers. It's possible you're using obsolete drivers. You can't trust Windows to report drivers correctly, and you might not be able to trust GEFORCE EXPERIENCE! One of my Nvidia machines correctly reports new Nvidia drivers, the other has an OEM version of GeForce Experience that doesn't report all new drivers - only the ones the OEM thinks are "good." Checking drivers from the Nvidia webiste is safest. The newest drivers are dated 3/16/2021.

    Oddly enough it's also possible you need to REVERT to an earlier driver. Sometimes Nvidia screws up.

    Otherwise, talking to Support is good, just in case there's something else odd about your particular system.

    Finally, as hinted at about with all the "unless things have changed," there are just some areas where Hitfilm could use improvement in resource handling. Checking your video files (VFR/CFR transcode) should improve performance, Updating drivers might help improve perofrmance. Support might find something else, but you could be hitting area where Hitfilm just needs improvement.

    (Side note: Mods and Ambassadors aren't FXHOME Staff - we're volunteers. I keep lists of tech info that have been dropped on the forum over the years - so that's how I know about "one thread per video stream," - but HF 16.0 was a near-complete re-write of the software, so I don't know all that might have changed, or where regressive bug got introduced from the HF 16.0 upgrade of the core engine.)

    EDIT Above you mention OBS files, which are smaller than Shadowplay files, perform worse than Shadowplay files. This is expected and normal. NLE's have to deal with fully uncompressed data. As we've noted, uncompressed 4K video is 24 MB/frame. The smaller the video file, the more compressed it is, and the harder the system has to work to decompress it. There's a reason high-end consumer/professional data recorders use formats like ProRes, DNxHD/DNxHR and Cineform. These are "intermediate" codecs, and might be 40 or 60 times (or more) the file size of an OBS file... But these files generally perform better in an NLE BECAUSE they have lower compression. There's a whole bunch of tricks OBS and SHADOWPLAY can use to cram file sizes small and all of them make the file slower performing. Lets just say there's a reason hardware video acceleration was added to so many iGPUs - and it's because streaming 4K, highly compressed video takes up so many system resources that CPUs from 5-10 years ago couldn't decode a 4K video stream in real-time without the hardware decoding.... Using Intel CPU's as an example, an Intel CPU with "HD" graphics isn't rated to run 4k video. Period. That's what the "UHD" graphics are for. Hitfilm can use GPU acceleration to decode video files, but most GPU hardware acceleration is designed to play back a single stream on a media player, not fully decompress and hold frames for NLE processing. Video Editing and VFX is among the most complex things we ask our computers to do outside of hardcore science simulation.

  • ggperformance
    ggperformance Website User Posts: 2 Just Starting Out
    edited April 7

    @TheBenNorris Thank you, will do.

    @spyresca Yes, I know that issue with variable bitrate, that is why I make sure the bitrate is solid 60fps. Otherwise I use Handbreak to 'repair' the video. 😃

    @Triem23 I will check MediaInfo. Thank you for all the info, it makes more sense to me now. Regarding VFR, yes VFR is a pain in the a**, I had a lot of trouble with that before lol, that is why I make sure the video are solid 60 fps. I noticed that Nvidia's shadowplay records stable 60 fps when the game is truly dedicated fullscreen, if I record a borderless windows game, there is a high chance VFR will screw up the footage and not record in 60 fps, then I use OBS that works well with borderless windows games at solid 60 fps. In OBS I use CFR but OBS sometimes have a bug with footage that have an overlay, like steam overlay or afterburner overlay, the overlay will start to flicker. Nvidia's shadowplay have no option to change from VFR to CFR.

    No worries about drivers, I always use DDU to clean uninstall old drivers, and I always get the latest one from the website, never ever I do allow windows to change any driver. Right now I have the latest driver that support Resizable BAR, a PCI Express interface technology that I don't know if it can improve performance in video editing software.

    "Resizable BAR is an optional PCI Express interface technology. As you move through a world in a game, GPU memory (VRAM) constantly transfers textures, shaders and geometry via many small CPU to GPU transfers.

    With the ever-growing size of modern game assets, this results in a lot of transfers. Using Resizable BAR, assets can instead be requested as-needed and sent in full, so the CPU can efficiently access the entire frame buffer. And if multiple requests are made, transfers can occur concurrently, rather than queuing."

    Thank you for all the answers, I will come back soon witht he Mediainfo.

    By the way, few days ago, I was working with a 3 minutes 4K footage recorded from shadowplay, but I needed to do a lot of cuts, add texts, added a new plane etc. Every 5 minutes I got the error : "OpenGL error occurred"

  • spyresca
    spyresca Website User Posts: 180 Enthusiast
    edited April 7

    It's very possible to have footage (even transcoded through something like handbrake) which can be problematical.

    That's why it's so important to provide the mediainfo data to verify any footage being used that is giving you issues.

    Are you editing HEVC files? If so, have you tried transcoding them to a different format to see if that helps?

Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!