Android multicore utilization



  • I create some programs for Android using Qt. In these programs there are LOTS of signal/slot connections actively working. And programs actively work with 2D graphics - they have several simultaneous animations, including animated GIFS and SVG. On the old one Android dual core tablet with 1.0 GHz Qualcomm my programs work.... slow. Animations are antsy, it is not enough processor performance to make them smooth. But I use very old tablet with just 2 cores on 1GHz each. Now there are huge amount of phones and tablets with multicore processors and higher processor rate. Many inexpensive phones have AnTuTu rate 30K, 40K, 60K, 80K and more. Of course they must utilize their 8 or 10 cores to show high performance. But can Qt5 in Android do the same? What should I expect if I run my program on phone with AnTuTu rate about 60K? Will it work 10 times faster than on my old tablet with AnTuTu just 6K? I'm going purchase smartphone with AnTuTu rate about 40K-60K - but wouldn't me become disappointed?


  • Moderators

    @Gourmet "What should I expect if I run my program on phone with AnTuTu rate about 60K? Will it work 10 times faster than on my old tablet with AnTuTu just 6K?" - you should not expect that it will be 10 times faster. What is AnTuTu rate?

    To utilize more than one core you need to have more than one thread in your app. At least one thread for each core. This is something you need to take care and implement, just buying a phone with more cores does not mean your app will automatically use all of them. You can do this with Qt on Android, read: http://doc.qt.io/qt-5/threads-technologies.html
    This is not a simple topic.



  • I am familiar enough with multithreading apps and I have developed several of them. But my question was about multicore utilization by Qt itself. My app has several SVG animations in frontpage and it uses QAudioInput which works in background. Will Qt use separate cores to animate SVGs? Will it use cores for audio recording and process queued connections?


  • Moderators

    @Gourmet I don't think Qt uses several threads for animations or audio recording. But I cannot tell you for sure. You can check the source code or just make a test application and check the CPU utilization.


  • Moderators

    @Gourmet In general you should ask Qt developers (http://lists.qt-project.org/mailman/listinfo/development) for such questions. This is Qt user forum.


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.