[squeak-dev] Dead primitive 103 makes scrolling truetype fonts very, very slow. Let's get rid of it

Tony Garnock-Jones tonyg at leastfixedpoint.com
Thu Feb 17 09:07:07 UTC 2022


Hi all,

Commenting out "<primitive 103>" in 
CharacterScanner>>primScanCharactersFrom:to:in:rightX:stopConditions:kern: 
immediately and dramatically improves the performance of scrolling 
anything truetype-font-ish on my very slow arm64 cellphone.

It's still not *fast* (why is it re-layouting when I just change the 
TransformMorph's offset??) but it's faster than it was before, which was 
"lock up the entire UI for ten seconds while thinking about failing 
primitive 103"-speed.

Interestingly, fast x86_64 machines aren't immune either! Running a 
tally in the same image on my x86_64 pc with a modern VM, and doing the 
same scrolly thing, showed primitives to be taking a significant chunk 
of time. Commenting out "<primitive 103>" there immediately eliminated a 
lot of wasted CPU usage, though the machine is so fast it's not easy to 
notice the improvement at squishy meatbody sensory refresh rates.

So, should I commit a change that comments out "<primitive 103>" for 
good? I don't see a downside! Is there one?

Cheers,
   Tony


More information about the Squeak-dev mailing list