Details
-
Bug
-
Resolution: Out of scope
-
P2: Important
-
Qt3D TP2
-
3
Description
From an email here: http://lists.qt.nokia.com/pipermail/qt-3d/2011-November/000759.html
First, I want to say that the Qt3D is great and it really makes the 3D programming easy and intuitive.
We've been utilizing Qt3D for some time in our example Space Blok Qt https://projects.developer.nokia.com/spaceblokqt. It seems that the default shaders using structs such as qt_MaterialParameters drops the performance big time on mobile devices. We found out this by writing our own custom shader and if we used even a one member of the struct the perf was degraded. Then we passed the diffuse, ambient etc. manually by using the program->setUniformValue and we noticed the perf go much higher.
The FPS values on a Symbian^3 device were 13 using the Qt3D materials and after our optimizations the perf was about 30.
I'm not sure if the problem is the use of the structs or Qt3D using too many gl calls, but we managed to get the perf up by doing those things manually. The code of Space Blok is available on the given URL above, if you want to look at the code, please use the trunk version, the released binaries don't use yet our "manual" code.