Atrocious performance when using SpeedPunk or the heatmap plugin

These 2 plugins make the entire application lag horribly. Heatmap always when active, SpeedPunk when looking at several glyphs in the edit view. Could it be that they need a long time to render their stuff and the UI thread stalls all the time?

The combination of many View plug-ins, lots of text in the Edit window and the Preview area open, this slows down Glyphs. Heatmap is very processor-intensive, and SpeedPunk is written in Python, which makes it rather slow. A few tips:

  1. Make sure you have the very latest versions of both plugins. Especially Heatmap had a big performance improvement in the latest version.
  2. Optimize performance in Glyphs: Turn off all View plug-ins you do not need. Close the Preview area at the bottom. Use only one word in Edit view, not whole paragraphs.
  3. Do not run SpeedPunk or Heatmap with complex paths.
  4. Instead of SpeedPunk, consider Simon Cozens’s SuperTool, which is written in ObjectiveC and much snappier.

Asynchronous composition for view plugins would be something for the Glyphs 3 todo list :wink:

  1. The plugin manager doesn’t show any update icon or somesuch, so I guess I have the latest?
  2. Ugh, okay… even though I’d rather have a more versatile edit view where I can do everything I can do in without alt-tabbing around.
  3. But they are most useful there!
  4. Alright.

Can you show a sample glyph where SpeedPunk and Heatmap are slow?

Well, make a word, pick any glyph and scroll around while one of the plugins is active.

Can you show me any of these glyphs?

Enabling SpeedPunk is enough to make scrolling performance drop, and I guess it’s active just for the current glyph. I currently uninstalled heatmap because the version available through the plugin manager is probably old and the binary from github… just displays a blank edit view on activation. Enabling the old plugin even made using the menus laggy.

SP: It is slower, sure. But ‘atrociously’ slow? Enough to move the nodes connecting segments. And that’s what it’s supposed to help you with. Try SuperTool. Much snappier.

HM: it is very processor-intensive because it is pretty complex math. But it depends on the zoom level too. It’s designed for quick checks. It’s nothing for leaving on all the time.

Performance drops enough with SP and HM that moving handles by mouse (i.e. using these plugins to get work done) becomes annoying/borderline irritating, even more so when Glyphs tries to help you by snapping to invisible lines. Try it. The real solution is to make rendering of these plugins asynchronous so that using the UI is always snappy, even when the plugin display lags behind.

Aside, the glyph overview could also use some performance tuning. Try scrolling the glyph list of a large font like Noto Sans or Fira Sans. Note that I’m using a i5-2500, which should have enough oomph for font design.