Hitfilm Express doesnt use GPU
Right now I'm exporting a small 2:30 minute video at 640 x 480 resolution at around 4,500 mbps. When I check task manager it reports 70% CPU usage (I have a R5 3600x) and only 20% GPU usage (RTX 2060Super) with 1.5% of it being the render client
Here's a screenshot link: https://prntscr.com/221sx38
Best Answer
-
@Triem23 Good catch. I completely missed that the OP was using the Crop/Pan effect - which of course, would bring the GPU into play. I also keep forgetting about the Serial operations between the CPU and GPU - mostly since this never affects me per se.
@KeeWee I understand that your PC is of recent vintage, however there is definitely something about your setup that is triggering your issues with HF that the rest of us don't see. Again, please put in a support ticket. I think we have rung out as much as we can on the forum and this should now go to FXHome support to solve.
Answers
-
What export times are you getting, and what are you expecting to get?
Where does your source video?
What sorts of effects are you doing? Color correction? 3D? Particles?
All these questions must be answered to determine if your performance is typical or not.
HitFilm leans on the CPU for video encoding, while effects are more likely to use the GPU (though a number of them use the CPU as well)
-
My export times are sitting around 40 minutes while I should be getting 10 at max, I barely have any effects on said video, the only one being crop & pan
-
My source video is an OBS .mp3 recording
-
@KeeWee I'm confused. mp3 is an audio format. Do you mean an OBS .mp4 recording?
Maybe the OBS recording is Variable Frame Rate? ( but you can set it to record at Constant Frame Rate ). If it is VFR then this might be causing the CPU to think harder and thus be slower. Try going back to OBS then go to File, Remux Recordings, pick your file and that should spit out a VFR version.
In addition, your resolution of 640 x 480 being recorded at 4,500 mbps seems excessive and could be slowing things down. Or do you mean 4,500 kbps? I typically record at 2,500 kbps for 1080p.
Plus if you are scaling up the video to export to 1080p (for example) that would further add to the CPU workload. As @triforcefx has said, decoding/encoding of video in HF is handled by the CPU. For the most part, your GPU won't enter into the equation until you add effects.
-
WAIT, did I say mp3? That was a typo I meant mp4. My bad
-
I'm recording at a constant 100 fps, then I remux the file from .mkv to .mp4. As for the resolıtion I made my own preset that should use the source, which I set to 640 x 480 in the project settings
-
Im going to guess that your 100 FPS is what’s causing all your issues. If your final video is going to be 60 FPS, record in 60 FPS. At 100 FPS, HitFilm has to decide which frames to drop and that adds a lot of extra overhead… similar to the problem VFR has.
-
But my project is also set to 100 fps?
-
Again, it comes down to the stability of the program as I've had minimal issues before the updates that changed the logo (I dont know the exact version, but I know that thats when I've started having problems)
-
I've rendered a 4:15 minute video in 10 minutes in the older version, it was also 1080p 10(TEN!)mbps at 100 fps
Yet on the current build it takes almost a full hour to render a 3 minute 640x480 video at 3 mbps target bitrate with 5 mbps max bitrate -
I've retried the render again and it's using ALL of the 12 threads I have at 4.12 gigahertz with a 22 minute estimated render time, if this isnt poor software design I dont know what is
-
@KeeWee Please contact FXHome support at https://fxhome.com/ask. They will be better equipped to assist going forward.
-
Hitfilm Express DOES use the GPU but you don't understand the render pipe and order of operations - and neither @triforcefx or @Stargazer54 made this explicitly clear.
Both mentioned that the CPU handles frame encoding and decoding, while the GPU handles VFX and frame renders. What they didn't point out is this happens in a SERIAL manner not PARALLEL. When the CPU is doing its tasks the GPU is idle and vice/versa.
Your figure of "70% CPU load and 20%GPU load" indicates Hitfilm is spending most of its time dealing with file I/O and relatively little time on rendering.
But, your headline statement of "Hitfilm isn't using my GPU" is objectively wrong. It's using your GPU, but knowing of that handoff between CPU/GPU will hopefully keep you from stressing out over Task Manager reports that don't really mean much. (I'm reminded of the occasional user we get who feels that CPU and GPU should always be pegged at 100%. Those are people who don't understand how computers actually work.)
You are using the Pan/Crop EFFECT. I suspect this is more resource intensive than the old/classic method of keyframing Scale and Position, although I never have done an A/B test for that.
Still, your task manager report might hint at that. Depends on if the FXhome "Render Client" is literally rendering frames or if it's managing the processes that render frames, I guess (Mods and Ambassadors aren't FXhome staff, certainly not Hitfilm devs, and have very little knowledge of how the software works beyond public statements made by devs).
When "the logo changed" (Hitfilm v16) Hitfilm shifted from an OpenGL 2.1 core to OpenGL 4.2 and from OpenCL 1.0 to 1.2. There was also a raise in minimum specs, basically from 2013 tech to 2016 tech. One can assume these versions of Hitfilm use more resources than older versions. This is typical in the tech industry (it's well known for example older iProduct gets slower when updating iOS or that a Windows box built for, say, Win 7 suddenly "got slower" if updated to Windows 10. Basically your machine is getting older and software is requiring more power). This has been a Hitfilm cycle for a long time - some change to the code core raises minimum specs, then the software feels slower on identical hardware, but each revision gets faster again until the next time specs go up. Actually, that's pretty typical of all my software.
Hitfilm EXPRESS v16 also shifted to use the native encoders/decoders in the computer's OS while Hitfilm PRO uses licensed third party libraries. There have been some issues that arose from this that didn't come up in Beta Testing (for example, Stargazer, Triforce and I are beta testers and we didn't encounter any of the now known bugs ourselves. Don't even THINK of saying "well they should have tested for everything," because there are literally tens of thousands of possible hardware configurations that can run Hitfilm only in the last two generations. It is literally impossible for any tech company to test their product on all hardware, and anyone saying they should merely betrays naive ignorance.). It's possible this might also have something to do with perceived slowdown. Certainly had something to do with the pixelation issues affecting some users.
Finally, Hitfilm has never been the fastest at plain old frame buffering. It is slower than most of its competitors at the "basic" task of pulling frames from the drive and writing them to the drive. In that case, it is what it is. I suspect it's due to the OpenGL render core. The devs have never confirmed or denied (and always ignore this when I speculate), but I believe all image/video objects in Hitfilm are actually texture mapped polygons. This would have advantages when setting up 3D workspaces and make it easier to have 3D models/planes/particles occlude correctly, but it does add an additional processor load just getting a straight video frame on the Timeline. It would also explain why anti aliasing in Hitfilm exports is global.
Anyways, again, Mods/Ambassadors aren't Staff/HF devs, so there's really nothing else we can do at this point other than refer you to support, which Stargazer already has.
-
Thank you, this is great information
Edit: I forgot to mention I did another test to rule out some factors
1) I tried rendering at 1920x1080 instead of setting a custom resolution, still the same result
2) I used the premade export presets in hitfilm instead of my own, no luck
3) I tried scaling instead of using the crop effect, no luck there either
It cant be that my PC is getting old either, as I've built it around August 2020 (I think, I'll have to check the receipt). I dont know what else could be causing this, I've also been getting incredible lag spikes on a 'video to video' basis, I've made another post about that aswell. It could be a stability issue with my RAM as I've done a quick frequency overclock without messing with too many settings, but thats gonna need some testing
-
I don't know if the OBS guys fixed this (I suspect not), but if you remux from OBS it can actually mess up your CFR footage.
----
Just captured CFR video with latest OBS (.mkv) then remuxed it to .mp4 with OBS.
Even tho' remux isn't supposed to change the underlying video, the remuxed file (.mp4) shows up in mediainfo as VFR instead of CFR, probably incorrectly. I wonder if that confuses HF as it seemed to confuse Lightworks in the post above?
-
Hah, and just 1 week after I open this topic the GPU update rolls out. Well then, it seems they listen to the community. Good work FxHome!
-
The dev teams really do work quite hard.