Badger2040, understand list.py speed under different circumstances

Another question, maybe related to my system_speed question.

Four scenarios for the list.py example on the badger:

  1. list.py in the firmware running on USB-C power
  2. list.py in the firmware running on LiPo power
  3. list.py uploaded from the examples running on USB-C power
  4. list.py uploaded from the examples running on LiPo power

The experience of using the arrow keys to move the selection bar through the list is very much different for each of the scenarios. I’d like to try to understand why and look at possible solutions for a customized list.py functionality the feels more speedy.

so #1 is the fastest, very response to go through the list but doesn’t really work when taking the badge out ;-)

The #2 is slower than #1 but still feels great, very responsive too. Both #1 and #2 I understand that they will be faster than separately uploaded code.

Now, #3 is just as fast as #2. It feels responsive and that is basically what I’m looking for.

#4 is the real-life scenario. We take the badger places so running on LiPo is the way to go but … it is soooooooooooo slow. Not responsive, it takes a good second or two before the selection bar jumps to the next line.

Why is there such a huge difference between #3 and #4 ?

I’d like to speed things up in the selection menu of the list (but also in other functions where I move a bar around.