Why does Carrara indicate a render is 100% before it finishes?
Howdy Folks,
I have been using Carrara 8.5 for about a year now, and have noticed something strange about rendering. Please note, I am only doing still images, I have not yet attempted animation. When I start the render, it does all of the light calculations and then starts to generate the image, and does it in blocks, one for each CPU thread. During this time, the render progress bar increments and the statistics tab gets updated. However, it always reaches a point where the render progress gets to 100%, the statistics tab indicates the render is complete, but the rendering is still being "filled" in in the window. While the progress bar is moving, my system is running full bore (100% CPU use), but once it reaches the "finished" state, it slows down to around 30% CPU use, and will take an additional 10 to 15 minutes to just fill in the blocks. Does anybody know what is going on here? I notice this behavior in both Windows and OS X, so I assume it is normal, but I am just curious. Thanks!
Rich S.
Comments
Are you using any post render effects, such as an aura, depth of field or lens flares? As far as I know, these are still not multi-threaded operations and are applied as filters after the render is finished. The aura and depth of field in particular can take quite awhile to be applied especially for large images or if their higher quality settings are set high.
Hi evilproducer,
I don't think I am doing any post render effects. The progress bar and statistics tab both indicate the render is complete, but there will still be a few "blocks" in the display that are slowly filling in, like it is still rendering. I will try and take a screen shot the next time, and post it here. Thanks!
Rich S.
Maybe Carrara is rounding 99.99% up to 100%? Just a thought.
Do the tiles ever finish rendering, or do they stall? Is it a network render?
Hi evilproducer,
I am not doing any network rendering, it is just a still image. I haven't been able to get the network renderer to work for anything other than animations. I suppose it is possible that it is rounding up the display, but even the timer in the statistics page stops. The CPU goes at 100% when the progress bar and statistics are updating, but drops down once it reaches 100%. It is not stuck, it jus isn't done yet. I am attaching a picture of the display, it shows the progress bar and the stats page indicating it is done, but you can see the "render blocks" are still going. This render did complete. Thanks!
Rich S.
Well, I'm afraid I can't tell you why the progress bar and complete status is showing 100%, but I have a pretty good suspicion as to why the CPU performance drops. I think it's because each render tile or "bucket" is handled by a specific core. As each core finishes its tile, it is idle as there is nothing left for it to render. I see numbers 2, 8 and I think 6. The final one I'm not sure. So I assume you have at least eight cores and four have completed their job. At least two of the tiles are on a reflective surface, so they'll take longer to render. I'm not sure why the other cores are going slower on the foot, unless there's something with the skin that is causing it to take longer, such as SSS.
Since it is completing the render, I wouldn't worry about it too much. Sometimes, it may be beneficial to have the cores render at a more equal rate, such as areas with reflections, transparencies with refraction and Fresnel effects, hair, etc. If this is the case, rendering using a smaller tile size can help spread the load between cores.
don't watch the slider, just watch the "abort' button. That's the real button, the slider is just to keep us entertained.
˙pǝuᴉɐʇɹǝʇuǝ sn dǝǝʞ oʇ ʇsnɾ sᴉ ɹǝpᴉls ǝɥʇ 'uoʇʇnq lɐǝɹ ǝɥʇ s’ʇɐɥ┴ ˙uoʇʇnq ’ʇɹoqɐ“ ǝɥʇ ɥɔʇɐʍ ʇsnɾ 'ɹǝpᴉls ǝɥʇ ɥɔʇɐʍ ʇ’uop
I figure that the bucket imagery is just a visualization for our benefit and has more to do with what is down visually, than what is finished mathematically with the render.
Programmers and coders can laugh at my visualization of the rendering process using a quick sort method of arranging a GROWBY sorted list (green, red, orange, white, blue, yellow) and then finally filling a the unseen mathematical grid after the 100 percent mark.
GIF animation doesn't like my old Xara Gif maker so removed it :)
Note: Put GIF animation on another page:
https://imageshack.com/a/img673/6384/DUSkbf.gif
I read all the postes of this thread but I didn't see the question “what is the final render format ” !
There is perhaps a compression at the end of the render…
Don't forget also that your antivirus works when it has a file which works or is created.
I am rendering still images, in PNG format. I did some more experimenting tonight, and actually got network rendering to work (yay!!). Using my server, I get another 4 threads, so my render is now using 12 at once, which is speeding up the rendering by about 25%. When it renders this way, the progress bar still finishes and the timer stops, but it takes much less time for the render to "finish" drawing the boxes this way. The 3 renders I have tried tonight only took another 3 to 4 minutes after the timer stopped to complete. In some cases just rending on my main laptop took another 10 to 15 minutes after the progress bar stops. The statistics page is kind of worthless as it stops before the render is actually complete. Based on observations and some of the comments here, I am thinking that perhaps the stats and progress bar is more of "dispatch" timer. Once all of the threads necessary to render the image have been started, it hits 100%, but it still takes time for the final threads to finish their work load, depending on the complexity of the render. This makes "sense," but just speculation on my part.