• Welcome! The TrekBBS is the number one place to chat about Star Trek with like-minded fans.
    If you are not already a member then please register an account and join in the discussion!

3D Render Times

Itisnotlogical

Commodore
Commodore
I've been having a problem recently with trying to create a CGI Trek video. Whenever I try to render it, it takes forever to render if I do anything even slightly complicated (i.e, particles, mesh deformation, physics simulation), and when it finishes the video comes out jerky and stuttering. Is this a problem with my computer or my rendering technique? BTW the program I use is Blender, which I know for fact to be a very high-quality animation tool.
 
Fear not, for while there are a plethora of variables that are going to effect render times, in general it would be fair to say that "3D rendering takes a long-ass time."

That's just how it is. If you want more specifics you'll need to describe what you're doing in detail.
 
Well, I'm just using the default settings. I've mostly been testing things like particles and soft bodies in conjunction with force fields, including hair and rain. I know that rendering takes a long time, but none of this explains why the final rendered video (when it's actually a finished AMV file) is coming out stuttering, though.
 
I'll start off by recommending a migration to the latest build of Blender. I think they're up to 2.54 beta now, and the 2.5+ series has much faster rendering.

But I don't think that's the core of your problem. Quite simply, no matter how long it takes to render, the finished video shouldn't be jerky unless your video settings are wonky. Have you tried viewing the output on another computer? If not, try it and if the video plays fine there, then the issue is with the machine you're using to render. Perhaps there's other software running on it that's hogging precious CPU cycles. A good way to check is to (I assume you're running Windows) open Task Manager and sort the application list by CPU%. The most intensive applications will be shown at the bottom and you'll need to check them carefully. Another way to check is by playing other videos that used to work fine. Are they also slower? Again, there's a rogue application sucking up cycles. And it's probably a virus or trojan spewing out garbage to the rest of us on the Internet.

If other videos play fine, and that particular video still looks like hog vomit on other computers, then -- improbably -- it's with your Blender settings somewhere. It's really easy to save messed up settings to your user preferences and Blender will dutifully load those settings for every project you start from that point on. Even if they're messed up. The first place you want to look is the video codec and the framerate. If the framerate is at least 24 frames per second, then that's probably okay, but maybe your output resolution is odd.

Try to stick with standard resolutions for your videos. Maybe you're trying to render at 1920 x 1080. That's super if you plan to output to an HD home video system and an audience of nitpicking video geeks who will somehow notice pixels at any lower resolution, but ... be serious, do you really need that high a resolution? At least drop down to HD 720p and you'll notice your renderings speed up AND it'll be easier to play back. Of course, you're probably still putting out more pixels than you need. Go to TV NTSC 16:9 and you'll be putting out something roughly equivalent to DVD. Now it should be over four times faster than default to render, but it's doubtful you'll notice the change once it comes time to throw it up for an audience.

Now the codec you're using might also be a problem. I'm not familiar with AMV; I stick to MPEG, AVI, or Ogg Theora when rendering, so I can't comment intelligently. Try using one of the other codecs. Does that improve matters? If so, render it in the one that works best first, then try transcoding the finished video over to your preferred format with either Blender or another package later.

That's all I can think of to get you started. It'd be helpful if we knew more about your system. Processor, memory, operating system, etc. But I bet your troubles lie in something above.
 
^^
I suppose, now I think about it, the problem is kind of obviously my machine/OS. It's Vista for Christ's sake! Moreover it's used, so it's probably loaded up with all sorts of worthless crap. Thanks for the tip about checking CPU processes though, that might help a bit.
 
What program are you using for playback? I know I've had issues rendering to HD formats like H.264 in After Effects and playing back the footage in QuickTime on my machine. In fact, all the QuickTime-based codecs seem to have issues with playback if they're free-rendered. I also have a somewhat older CPU, so it's very possible we're having the same problem (which typically manifests as the first few frames playing back, then the image gets stuck but the video plays out in the timeline). I'm not familiar with Blender, but if you're playing back in-program, does it have to pre-render before you can watch more than a specific amount of buffered material?


~Belisarius
---------------------------
"All life is struggle, from first breath to last."
- Anonymous
 
3D rendering as a rule takes a long time, but the second you add in Particles in my experience the render time increases ten fold.

For me in Cinema 4D, with GI and HDRi illumination it takes me about 2-4 minutes to render a 1080x720 image. If I ditch the GI and switch to normal lights, I can cut that to about 30 seconds.

Whenever I add particles however, the time goes up to about 10 minutes per frame if not more. For my Uni project, I simply had to bite the bullet and let shots render. My longest render time was 48 hours flat for a 15 second shot.
 
I took 2 days to render a 150 frame logo animation for a shop. It was in 720HD and involved volumetric lighting, so each frame was over half an hour on my E6800 intel processor. I would set it rendering overnight and while I was at work so it didn't tie up my machine all the time. Anything involving particles, complex objects, volume effects and especially radiosity are going to kill your machine. I made a radiosity enabled shot of a cityscape, and that one frame took 14 hours to render.

As for your jerky video, are you rendering straight to video? NOOOO! I haven't used Blender much, but if you can render to numbered still frames you should do that instead. Always render to frames so that you can then load them up and compile them into whatever format you like without having to rerender. This also means you can render it bits and pieces, and dont have to tie up your machine until the rendering is done. Render a few frames, then later go back to it and render some more from where you left off. Easy!

e.g. If I render straight to video and it's so badly compressed I cant see detail or it's jerking all over, I have to go through the whole process again. Bummer. If I render out as numbered sequential JPEG images, I can then load them into Veedub, which is completely free. I can then have it save it as an animation with any number of codecs I might have on my PC, and it only takes a few seconds each time. If it looks a bit off or is jerky, I redo it with another codec or altered settings.

A final boon of rendering to frames is that you can also tamper with the frames in your favourite image manipulation software, such as adding flashes or flares or momentary effects. You also have your choice of stills for promo stuff too. :)
 
The Axeman brings up a great point about rendering to still frames and then compiling them into a video later. This also saves your bacon if you have a system crash halfway through. I *think* you can pick up and continue with RAW AVI, but why take the risk?

The nice thing about Blender is that its sequence editor is a perfect environment to do this second pass. You can add effects there, sound, etc. And when it doesn't have to do anything more than build a video, it manages to render amazingly fast ... sometimes faster than playback.
 
Thanks for the advice. Is there a freeware editing program that automatically compiles images into normal-speed video? Because I'm only one person (and I'm just casual, I don't even have a "studio", just a computer in my room) and I'd probably be an old, old man before I got done compiling each image by hand.
 
Highly endorse these statements. Rendering out to frames IS the best way to go.


I took 2 days to render a 150 frame logo animation for a shop. It was in 720HD and involved volumetric lighting, so each frame was over half an hour on my E6800 intel processor. I would set it rendering overnight and while I was at work so it didn't tie up my machine all the time. Anything involving particles, complex objects, volume effects and especially radiosity are going to kill your machine. I made a radiosity enabled shot of a cityscape, and that one frame took 14 hours to render.

As for your jerky video, are you rendering straight to video? NOOOO! I haven't used Blender much, but if you can render to numbered still frames you should do that instead. Always render to frames so that you can then load them up and compile them into whatever format you like without having to rerender. This also means you can render it bits and pieces, and dont have to tie up your machine until the rendering is done. Render a few frames, then later go back to it and render some more from where you left off. Easy!

e.g. If I render straight to video and it's so badly compressed I cant see detail or it's jerking all over, I have to go through the whole process again. Bummer. If I render out as numbered sequential JPEG images, I can then load them into Veedub, which is completely free. I can then have it save it as an animation with any number of codecs I might have on my PC, and it only takes a few seconds each time. If it looks a bit off or is jerky, I redo it with another codec or altered settings.

A final boon of rendering to frames is that you can also tamper with the frames in your favourite image manipulation software, such as adding flashes or flares or momentary effects. You also have your choice of stills for promo stuff too. :)
 
Thanks for the advice. Is there a freeware editing program that automatically compiles images into normal-speed video? Because I'm only one person (and I'm just casual, I don't even have a "studio", just a computer in my room) and I'd probably be an old, old man before I got done compiling each image by hand.

Huh?! I just said, Blender can do that for you, laddie! Get over here and let me whack you in the back of the head, good and proper!

*WHACK!*


Here's what you do: after you have all your images, go into the Sequence Editor. If you're using one of the new 2.5+ versions that are now out in beta, use the drop-down menu in the upper left to select "Video Editing" (when you first start, it reads "Default"). You're now in what they used to call the Sequence Editor, and when I discovered this tool, I learned Blender wasn't just a great modeling and animation package, but it's a great video editing tool, too!

Now towards the lower right, you'll see a menu labeled "Add". Beneath it are "Effects Strip", "Sound", "Image", "Movie", and "Scene". Here's what they do:

  • Effects Strip -- adds a special effect to the video sequence. Usually, I use this to cross-fade between two image sequences, or to adjust colors, or to do chroma-keying.
  • Sound -- adds a sound or music file to the sequence.
  • Image -- adds one or more images to the sequence. This is obviously what you're interested in at this stage.
  • Movie -- adds a pre-rendered video sequence, with or without sound, to your sequence.
  • Scene -- adds a scene to be rendered from Blender's modeling/animation side. This uses the default camera in that scene. Note that rendering scenes can slow things down a lot ... or maybe not so much if you're doing something simple like adding titles/credits to your video.

Now then, select "Image" from the "Add" menu, and navigate to wherever your pre-rendered images are stored. Note that these don't even have to come from Blender. I used about 100 still pictures from my cellphone for one video. Select all of the images and click "Add Image Strip".

Each image will be considered one frame, and the finished video will play all the images at the frame rate you choose before you start rendering the new video. Previous versions of Blender required you to set all your framerate, resolution, codec preferences before you load sound and pictures into your sequence strips, but I'm not sure if that's still the case. If it is, you won't get a warning, but your videos will render with the timing all messed up. Always plan ahead, before you load images and sound, and the sequence/video editor won't let you down.

You can "scrub" back and forth over your animation using the timeline controls and watch the results in the preview window in the upper right. When you're satisfied with your results, just render the animation (shift-F12) ... this time to a video codec ... and in a few moments, your video will be complete and ready for playback.
 
Thanks maight, I gat meself a lump on da back of me head now, nayce and propper discapwin.

Now if I can just figure out how to work ye olde armatures... :klingon:
 
Also you'll notice in my post I mention Veedub. It's a free program that automatically recognises numerical jpegs and assembles them in order. You can then add a sound stream, select a codec, select a frames per second speed, do a few simple filters and then press 'save as avi'.
 
The Axeman, when you mention VeeDub, are you talking about VirtualDub? That's one of the things I miss from my Windows days, it was a great little application. I even donated to it. I still think Itisnotlogical would be better off with a non-linear editing environment like Blender's sequence editor for this, but that's still a great tool to have in one's inventory.
 
Yeah, Virtualdub, or Virtualdub-64 that I use on my 64-bit vista. I keep forgetting the real name as the .exe file is veedub.exe on my shortcut. It's just a lot quicker to get a result with than importing into my editing software, which takes ages to load and set up.
 
Let me go off-topic here and give you a vigorous pat on the back for that wonderful website of yours, The Axeman! I was just poking around through it and think you've done an excellent job at creating a useful resource. And I had to laugh ... one of your videos starts off with "I apologize for the accent, but it's the only one I have!" Good info served up with hearty sides of humor and humility! :techman:
 
Thanks, I seem to beone of the few Lightwave model sites left. I'm thinking of making the move to Blender as it seems to have more life in it now. Having said that, I've got about 10 new models to upload and a few to convert and I still haven't got around to doing it yet. Websites get to be a pain to maintain, I can see why people give up.
 
Heh. Back in my 3D hobby days, I could tweak a few things to REALLY blow the render times up. My personal favorite was metallic materials that behave like anodized aluminum, in that they slightly reflect, but mostly scatter light. It looks oh so real, but can an hour for a single frame if there's a lot in your subject. Like the following:

tt187ak.jpg
 
Yeah, I used to do a lot of HDRI lit scenes with metal objects in them just because the reflections and lighting look so realistic. If there's one thing CGI does well, it's simulate reflections and metal surfaces. Organic stuff can just go to hell.
 
If you are not already a member then please register an account and join in the discussion!

Sign up / Register


Back
Top