Not sure if this has been discussed before but I was wondering if it's possible to hardware accelerate the video rendering process? Right now with my CPU (Athlon X2 3Ghz) going flat out (90-100% utilization) and 4GB RAM its going to take 46 hours to render an HD video of my design. Meanwhile my Radeon 4870 with 1GB RAM is sitting idle doing absolutely nothing. Yes i could turn down the resolution and detail level but i want to see what this wonderful program can do! I read the forum thread about increasing the memory to speed up rendering and plan on trying that out to see if it improves things but I would still love to see SH3D offload the heavy lifting to the GPU instead of the CPU. I did a bit of googling and found the JavaCL library which is a Java API to the OpenCL library. I believe this is what one would need to go about hardware accelerating the rendering process. Is this something you cold see being released in a future version of SH3D?
UK
Joined: May 3, 2010
Post Count: 223
Status:
Offline
Re: Hardware Accelerated Video Rendering
Hi nhlfan44,
Welcome to the Sweet Home forum.
I did mention something similar except, now I could be wrong here, are you basing your graphics card acceleration idea on a GPU rendered 3D display, as in how a game would render and (plus with modern Nvidia cards) also handle physics when producing a 3D scene, compared to complex resolution independent CPU calculated ray tracing?
If so the latter is still beyond today's most powerful graphics cards, real time 3D GPU scenes use clever methods of producing ray traced like effects without actually fully ray tracing the scene. Your GPU acceleration idea would come into play in producing the bottom right (or separate window, depending on users preferences) 3D preview render pane.
How is your video render going and did trying the -Xmx1024m help on your computer?
Not exactly sure what you mean by "complex resolution independent CPU calculated ray tracing"
I hadn't thought of accelerating the 3D preview panel/window although that would be a nice feature as well
What I was referring to would be to accelerate the encoding process of creating a video of a design. Menu: 3D view->Create Video...
I believe the application is already multi-threaded since both my CPU cores jump to around 95% while encoding so why not use the GPU as another "core" to speed up the encoding process. Now I have no clue how the video gets encoded, I assume there's a lot of math going on to calculate the lighting and shadows etc. so why not use the GPU to perform the calculations in tandem with the CPU?
Hope that clears things up (although I could be completely wrong )
I think the extra RAM helped a bit. Estimated time dropped from 46 hours to 40 so instead I decided to just drop the resolution from 1920x1080 to 720x405 and it took half an hour to finish
UK
Joined: May 3, 2010
Post Count: 223
Status:
Offline
Re: Hardware Accelerated Video Rendering
From your first post I think I misunderstood what you were asking, while in effect you were hoping for the same kind of thing as my original post, except you actually provided links to code that could make it possible.
Sorry for the misunderstanding.
One feature I do like about Sweet Home is, once a render is started, even though the CPU is busy, work can carry on within the program interface, including designing other areas of a house and so on. I guess that would be one feature that would have to be well managed to prevent crashes if using JavaCL code.
Very interesting to hear that the extra memory (did you set 1GB?) would shave off roughly 6 hours of video frame encoding had it run at those settings. Wow!