Tuesday, July 19, 2011

Threaded rendering

The enesim stack has been actively developed on the past months, we have lots of new features and new design concepts but this post is about threaded rendering. Recently a threaded rendering path has been committed into enesim given outstanding results, for examlple running the benchmark application with the circle.escen example we have:

Without threaded rendering

./benchmark -f ../../examples/circle01.escen -d -t 10000
../../examples/circle01.escen [15.375 sec]


And with threaded rendering

./benchmark -f ../../examples/circle01.escen -d -t 10000
../../examples/circle01.escen [4.948 sec]


This test was done on a quad core CPU and the gain is around 3x, of course the gain depends on the actual renderer to draw, the more complex the better.