HitFilm performance question & CUDA?

RQKevinRQKevin Website User Posts: 18
edited September 2014 in Post-production techniques
Hello!
I was wondering how big of a difference 8 GB of RAM makes as opposed to 4 GB (upgrade earlier today). I can't seem to find any noticeable difference in terms of performance.
Here's my system:
CPU: AMD FX 6300 Six Core (6)
GPU: Nvidia GeForce GTX 660
RAM: 8 GB DDR3 1600 MHz
OS: Windows 7 Ultimate 64-bit
Also, I have a sub question here, is there a way to have my GPU do all the work (CUDA)? I'm using HitFilm 2 Express.
Cheers,
Faen

Comments

  • JohnA222JohnA222 Website User Posts: 35
    I don't know about the memory issue, but as for GPU, HitFilm is built with OpenCV v.2.3.1 which had very minimal Cuda support. I suspect that is why HitFilm performs so poorly in real-time 3D display compared to such programs as Video Copilot's Element 3D (an After Effects plugin). Substantial Cuda support was added more than two years ago to OpenCV v2.4.0. As you can see, HitFilm uses a very out-dated version that was released in Sept. 2011, and there have been 10 versions beyond that. For my work, I use the latest stable release of OpenCV which is version 2.4.9. Let's hope that FxHome has enough sense to base their next release on tools that are current and more efficient.
    Peter
  • AdyAdy Staff Administrator, HitFilm Beta Tester Posts: 1,453 Staff
    Hello!
    I was wondering how big of a difference 8 GB of RAM makes as opposed to 4 GB (upgrade earlier today). I can't seem to find any noticeable difference in terms of performance.
    Here's my system:
    CPU: AMD FX 6300 Six Core (6)
    GPU: Nvidia GeForce GTX 660
    RAM: 8 GB DDR3 1600 MHz
    OS: Windows 7 Ultimate 64-bit
    Also, I have a sub question here, is there a way to have my GPU do all the work (CUDA)? I'm using HitFilm 2 Express.
    Cheers,
    Faen
    Hi,
    A system memory increase will not make noticeable changes to performance inside HitFilm, but it will allow your system to multi-task better & it could help with larger projects.    
    HitFilm doesn't use CUDA & there is no way to make it use CUDA. Naturally CUDA is Nvidia only, we don't solely support Nvidia chipsets, we support AMD & Intel also. So if we decided to support CUDA we would need to consider OpenCL also, which as you can probably appreciate is a lot of work & not as simple as just flicking a switch or updating a file.
    CUDA & OpenCL have been discussed at great length by the developers, but at this moment in time there are no plans to support either of them. But things do change, sometimes very quickly.
    Hope this helps.
     
    I don't know about the memory issue, but as for GPU, HitFilm is built with OpenCV v.2.3.1 which had very minimal Cuda support. I suspect that is why HitFilm performs so poorly in real-time 3D display compared to such programs as Video Copilot's Element 3D (an After Effects plugin). Substantial Cuda support was added more than two years ago to OpenCV v2.4.0. As you can see, HitFilm uses a very out-dated version that was released in Sept. 2011, and there have been 10 versions beyond that. For my work, I use the latest stable release of OpenCV which is version 2.4.9. Let's hope that FxHome has enough sense to base their next release on tools that are current and more efficient.
     
    Peter
    Additionally when HitFilm 2 was released in 2012 the OpenCV version we were using wasn't that old, of course things have moved on since then but you can only work with what's available at the time. Updating to the latest version today isn't going to magically fix everything, although it would be nice if sometimes it would.
  • JohnA222JohnA222 Website User Posts: 35
    Hi Ady,
    Even though updating to a recent version of OpenCV will not solve everything, you will find that a considerable amount of work was done to improve the execution times of many functions. Specifically, I noticed that you folks include the flann (Fast Library for Approximate Nearest Neighbors) runtime library. This module in particular has been vastly improved. Now nearly all functions consistently use Mat objects for passing data, so there is no need to translate/copy data into a special form (as was necessary when using kmeans clustering for example). Also, the functions have internally been improved to more efficiently access Mat components via iterators instead of indexing. In any case, I have just recently changed one of our applications from using v2.3.1 to v2.4.9 and have noticed quite a speed improvement (up to 200% in many cases). However, this is highly dependent on which functions your code uses. If you do decide to migrate from 2.3.1 to 2.4.9, keep in mind that Mat objects that are passed to functions are nearly always of type CV_32F. Otherwise you will wind up with a segmentation fault that is nearly impossible to decipher.
    Peter
Sign In or Register to comment.