Search code examples
c++opengl-esarmembeddedyocto

phytec phyBOARD iMX-6 performed poorly when running qt5 opengles application from flash instead of sd card (fps halved)


I'm developing a graphics application(Racing Game) on phytec phyBOARD iMX-6, with Qt 5.9 and OpenGLESv2. I create OpenGL context through Qt modules. My problem is my game gets 40 fps when running on sd card. And gets 20 fps when running on Flash. Why opengles frame rate is so low on flash? The operating systems in the flash and sd card are identical.

My first thought was that the performance decreased due to the low read / write ability of the flash. But my game only reads data from disk during the boot phase. In the remaining stages, it exchanges data with the disk in a very limited way. Therefore, It isn't very likely that low performance is caused by disk read and write speeds.

Have you ever encountered such a problem where the opengles frame rate is low when application working on flash? Maybe a similar solution can contribute to me.


Solution

  • I managed to solve it with pure luck. I added the line

    PREFERRED_VERSION_mesa = "git"

    in the Local.conf file. And now I get the same fps on flash(40 fps) and sd card(40 fps).