Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
Tags

Great Tool but which hardware do I need?

A topic by ChristianundCo created Jul 11, 2020 Views: 2,030 Replies: 3
Viewing posts 1 to 3

Today I made some tests with Dain 0.4. Results look great, much better then other frameinterpolation. 

At first I want to interpolate DVD stuff (25 fps, 720*576)  to 50 fps

Which hardware do  I need for more speed? 

RAM: 16 GB or 32 GB? the more the better?

graphic card: best which is  available? (GeForce RTX 2080 Ti or even better?) How much GPU-Ram?

CPU: ? Threadripper or a normal 8 core i5?

Which PC components make sense which can be  cheaper?

What  is the optimal PC for Dain?

(1 edit)

Almost all calculations perform on GPU. So, you should take the best one. Even NVIDIA's flagships, like 2080, 2080 Super can't convert 720p natively, only 2080Ti.
CPU is used only at the first and the last stage: converting to/from images, so, in this case, CPU is not so critical (I suppose, you are not going to buy 2080 Ti and AMD K6 :-) ).

I had to look up what an AMD K6 is...

I'd not long started school when that came out!

A bit weird how I know the Intel Pentium chips of the same age though. Maybe because my school PC's probably still had the original Pentiums by the time I started using them! We've been taught the frustrations of outdated hardware from an early age I guess :D

PS. good joke ;) I wonder where you'd plug in the PCIe?

Hi ChristianundCO,

I've tried to explain PC hardware and how it relates to Dain and DainApp (DainApp is a nicely packaged version of Dain with a great UI so you won't end up tearing your hair out in frustration. Thank you GRisk for keeping us all sane)


Like FiksII says, Dain is almost entirely based on raw GPU 'power'.

Firstly, Dain uses CUDA which is an Nvidia made program which in their words is a " Parallel computing platform and programming model".

For programmers, it means that they can use CUDA to run extremely intensive computational algorithms on a GPU rather than on a CPU. Normally, this wouldn't make too much of a difference, but some workloads like Video editing and rendering are highly parallel processes (loads of discrete processes each taking a bit of work to make the main process, like rendering a single frame, go faster).

On a CPU there is a limit on how many of these processes you can run on a single core at one time without crashing the PC. This is because even though your average CPU 'core' is far more powerful than a 'core' you find in a graphics card, you are still trying to run loads of processes on one core at the same time. Its a physical hardware limitation.

Graphics cards on the other hand are designed to render video frames, a highly parallel workload. Therefore GPU manufacturers have made chips with hundreds and now thousands of cores to handle this large number of parallel processes. Not only that, but these cores are optimized for video and geometric calculations which is EXACTLY what Dain needs.

Nvidia was nice enough to create CUDA so programmers can use this massive amount of parallel processing power in their own applications.

Second is VRAM. Dain is HIGHLY reliant on the amount of VRAM your GPU has. For instance, I'm running a 1070Ti with 8GB of VRAM and I can't interpolate 1080p without using the "split frames into sections" option. When I feed the frames to Dain, PyTorch (a program Dain uses) takes up upwards of 5GB of VRAM on it own! then I have over 4GB reserved for something else (no idea what, desktop maybe?) which leaves only ~500MB for frames.

So more VRAM is better. Fast VRAM is also a good idea but capacity is king in this case.

Third is architecture. The newest Nvidia GPU's all have better core designs than the last generation. If you look at CUDA benchmarks online, you can see that cards of different ages but with similar numbers of cores have different results. This is mainly down to the higher efficiencies of the core designs in newer models.

GPU TLDR: You need an Nvidia card with as many CUDA cores as possible and as much VRAM as possible. Newer is also better. 2080Ti is superb. If your swimming in money then the newest Titan, Quadro or Tesla cards are the ultimate option but if you have that sort of money I would still wait until the RTX 30xx series launch as you can probably get equal performance for literally $1000s of $ less.


Now onto the CPU. Again as FiksII says, the CPU isn't that crucial as its only really used by the ffmpeg component of Dain which extracts the video frames before processing and then renders the video after processing. Both of these steps are wayyyyyyyyyyy faster than the frame interpolation step so you don't need to go crazy on the CPU spec.

I have a Ryzen 7 3700x (8 core 16 thread) and this extracts frames at between 80-1000fps depending upon the resolution and quality. I don't know how long the videos you want to use are, but a 5 min 25fps video is only 7500 frames which gives me a extraction time around 7.5 to 75 seconds. Not exactly ages, especially compared to the interpolation time.

Rendering the interpolated frames into video is a bit more intensive but not much.

CPU TLDR: middle of the road hardware is fine Ryzen 7 3700/3800 X or XT. Ryzen 9 chips if you do more video editing, Threadripper chips if its your job or have lots of money :D. I would recommend AMD hardware as its outclassing Intel in all performance and price metrics right now. I used to be a strictly Intel guy until a couple of months ago but right now Intel's offerings just don't match up, and their attitude to customers is poor (though that's mostly down to the fact they haven't had proper competition for years).


System RAM.

Not a big issue for Dain capacity wise. It depends more on what else you want to use the PC for. I would say 32GB is what you need at a minimum nowadays if your also using your PC for video editing. This just means your favorite video editing software can cache more of the video while editing so your not forced to watch a slideshow during your edit.

If you are using AMD hardware, you NEED to look up the best RAM kits for the job. The speeds Ryzen architecture can get is directly coupled to the speed of your RAM. I can't recommend a kit as it depends on your budget and RAM is coming out all the time, but there are really good videos from Gamers Nexus on YT about RAM speeds and Timings and how they affect Ryzen chips.

I can tell you what I have though. Corsair LPX 3200 CL16. Low cost and doesn't bottleneck the Ryzen CPU. I could have paid more to get higher frequencies and faster timings though.

RAM TLDR: Again, have a look at the videos from Gamers Nexus but as a rule for Ryzen, faster timings (lower CL values like CL16 or less) are better than slower timings with higher frequencies. That's why the kit I used is a great compromise for me. Intel hardware doesn't care about RAM as much so whatever you like really.


I hope this helps you and hopefully others in understanding what Dain, DainApp and to a lesser extent, video editing requires.

Happy rendering,

Theo