How to monitor progress of render as it happens?


I am rendering images in Blender from the command line on the fly in a web application. Trouble is, some renders can be pretty long, so I would need display a page that says “render in progress: 20% complete” then update it every few seconds. I wonder if there’s any good way to monitor the progress of the render in real time.

The best I can do so far, is to look at the output’s render passes:


Compiled with Python version 2.5.
Checking for installed Python… got it! deprecated!
use instead
Starting scene conversion.
Scene conversion done.
No export directory set in user defaults!
Will try TEMP instead: /tmp
Yafray found at : /usr/bin/
COMMAND: /usr/bin/yafray -c 2 “/tmp/YBtest.xml”
Starting YafRay …
Loading grammar …
Starting parser …
Parsing OK

Loading plugins from ‘/usr/lib/yafray’…
Registered spherelight
Registered pathlight
Registered basicblocks
Registered sunlight
Registered HDRI background
Registered blendershaders
Registered pointlight
Registered globalphotonlight
Registered sunsky
Registered Shader Background
Registered photonlight
Registered basicshaders
Registered spotlight
Registered sss
Registered mix block
Registered hemilight
Registered arealight
Registered softlight
found 18 plugins!
Loading image file /www/grsites/static/archive/textures/marb/marb003.jpg
[Loader]: Added shader IMmarb003.jpg
[Loader]: Added shader MAMat
[Loader]: Added shader MAMat.002_map0
[Loader]: Added shader MAMat.002
[Loader]: Added shader MAMat.003_map0
[Loader]: Added shader MAMat.003
starting build of kd-tree

=== kd-tree stats (0.51s) ===
primitives in tree: 8780
interior nodes: 35086 / leaf nodes: 35087 (empty: 16076 = 45.8175%)
[Loader]: Added object OBMesh.002
starting build of kd-tree

=== kd-tree stats (0s) ===
primitives in tree: 2
interior nodes: 1 / leaf nodes: 2 (empty: 1 = 50%)
[Loader]: Added object OBMesh.003
starting build of kd-tree

=== kd-tree stats (0s) ===
primitives in tree: 2
interior nodes: 1 / leaf nodes: 2 (empty: 1 = 50%)
[Loader]: Added object OBMesh.004
[Loader]: Added pointlight light LAMP1
[Loader]: Added pointlight light LAMP2
[Loader]: Added pointlight light LAMP3
[Loader]: Added pointlight light LAMP4
[Loader]: Added pointlight light LAMP5
[Loader]: Added pointlight light LAMP6
[Loader]: Added constant background world_background
[Loader]: Added camera MAINCAM
Using a world resolution of 0.00110957 per unit
Rendering with 3 raydepth
2 anti-alias passes and 4 minimum samples per pass, 8 samples total.
Building bounding tree … Object count= 3
Light setup …
Setting up lights …
Finished setting up lights

Launching 2 threads

Render pass: [###]
Saving Targa file as /tmp/YBtest.tga
Yafray completed successfully


I can check the output as it writes:

Render pass: [# … # … # … etc…

In this case, there were 3 passes, but I wonder if there’s any way to control the number of render passes to something predictable so I can know for sure that, if there’s 10 passes, we are now 10% done, 20%, etc… Or maybe there’s some other way to anticipate how far along a render we currently are (in real-time)? It doesn’t have to be terribly precise, just to have some idea…

Thanks in advance for any help…


I’m wondering the same thing myself:confused:

Have you tried turning off “xml” button in the yafray options? you should be able to see the progress as it happens.