How to make "TableListBox" faster


#1

Hi all,
I’m a newbie in JUCE, I have to write a screen to show the list of audio after request list from server.
I used TableListBox to show the list. Each row of the list has 4 info: picture, name, artist/author, published date.
The server responses my request by strings (picture was encoded as base64 string).
I used MemoryOutputStream and Base64::convertFromBase64 to decode base64 string to image and show on each row of table. Other info is showed as string as normal.

My problem is when the list is too long (may be 20 items):

  • The vertical scrollbar is too slow.
  • When I click to the header of “name” column to sort the name, the table showing was too long. I think the cause is it also swap base64 too.

Can anyone help me how to solve the 2 problems? Thank so much


#2

Saying it’s “too slow” doesn’t narrow down the problem - you need to profile your code and actually see where the hot spots are instead of guessing. If you’re on macOS then Xcode’s Instruments is a great tool for this, Visual Studio also has some good built-in diagnostics tools.