<div dir="ltr"><br><div>Hi everyone,</div><div><br></div><div>I'm doing some GUI work on a Raspberry pi 4 that has a 1080p HDMI LCD screen (in portrait mode).</div><div><br></div><div>I have a special morph, which displays a list of nearby airports, sorted by distance from the user's gps location. The morph can show 9 airports at a time, and you can smoothly scroll the list (which has a couple hundred entries in total).</div><div><br></div><div><img src="cid:ii_lh6pzv0o0" alt="DashPanel.png" width="340" height="542"><br></div><div><br></div><div>On my desktop, it takes about 14ms to draw the 9 entries, and I get about 11 frames per second scrolling. The scroll code is implemented in a method called from #mouseMove:localPosition:, and it simply does some math, sets the scrollPosition variable, and calls #redrawNeeded.</div><div><br></div><div>On the rpi4, it takes about 50ms to draw the list, and it averages 2.5 frames per second, which is terrible.</div><div><br></div><div>On my desktop, it appears that there is a fairly large gap (50ms) between the time #redrawNeeded is sent, and the corresponding call to #drawOn: is sent. This explains the poor performance pretty much in total. What can I do to make that happen faster?</div><div><br></div><div>- Jon</div><div><br></div></div>