JUCE 8 and Android - drop in performance

Hi everybody. Updating to JUCE 8 has been very smooth and everything seems to work perfectly - except for a dramatic drop in performance on Android.

This can readily be observed on the DemoRunner. It’s immediately obvious on debug mode and makes it virtually unusable.

Release mode is also seriously affected. The GUI is less responsive and the frame rates shown on the GraphicsDemo are invariably lower on JUCE 8 than on JUCE 7. On one device, for example, line rendering is more than twice as slow on JUCE 8.

What could be going on?

2 Likes

Could you please share details about the specific devices you’re testing with?

1 Like

Sure! Until now:

Galaxy A22 5G, Android 13
Galaxy A5, Android 8.0

On the next days I will have access to a Pixel 4a and can test on that device as well.

I have used the Demorunner and corresponding JUCE versions “out of the box” with no modifications whatsoever.

Thanks for looking into this!

2 Likes

I have tested using the emulator with the same results. The greatest difference seems to be the line rendering, on my system there is a fourfold difference.

1 Like

Did a brief test on a Pixel 4a with similar results.

Release build, graphics demo, lines, actual FPS:

JUCE 7: between 37 and 50

JUCE 8: between 23 and 30

1 Like

Hmm we’re seeing a massive decrease in performance of simple line rendering as well, but on macOS.

With JUCE7, drawing hundreds of lines on an M2 Pro was super smooth, but now with JUCE 8 we get 10-15 frames per second max, everything looks extremely choppy :frowning:

We’re drawing a reasonably complex path consisting of lines into an Image. Tried both the native image type as well as software image type, both are equally bad compared to what we had with JUCE 7. If I just replace the line drawing by setting a pixel into the image, performance is super smooth again.

This is with the development branch. Any clue as to why there is such poor line drawing performance with JUCE8?

Edit: the image we draw lines into is a single colour image. When switching to ARGB, performance is back where it should be.

Edit2: The difference between drawing line performance into a single color image or ARGB image seems to only exist for debug builds, but not so much for release builds…

1 Like

A change has been released on develop that restores Debug line drawing performance

3 Likes

Fantastic! Tested just now and this is a huge improvement. Thanks a ton!