Zren added a comment.

  I used `Loader` as I didn't want loading glyphs to block scrollbar 
responsiveness. `GridView` reuses delegates, but I don't think it's the 
`MouseArea` + `Label` constructor that's slow. I think it's the "rendering the 
emoji glyph" in the GUI draw that is the root cause.
  
  The cell spacing code re-renders the glyph (which is a slow process), which 
is why I removed it. Though I guess we can use `anchor.centerIn`:
  
    MouseArea {
        id: mouse
        width: emojiView.cellWidth
        height: emojiView.cellHeight
    
        Label {
                anchor.centerIn: mouse
                width: emojiView.desiredSize
                height: emojiView.desiredSize
        }
    }
  
  ... to keep the cell spacing if that's a requirement.
  
  Using `fontSizeMode: Qt.VerticalFit` would make emoji's overflow 
horizontally. Various "hand + skin tone" emoji's that don't yet have a custom 
emoji are 2x wider than they are tall.

REPOSITORY
  R119 Plasma Desktop

REVISION DETAIL
  https://phabricator.kde.org/D27337

To: Zren, apol, #plasma
Cc: broulik, davidedmundson, ngraham, plasma-devel, Orage, LeGast00n, 
The-Feren-OS-Dev, cblack, jraleigh, zachus, fbampaloukas, GB_2, ragreen, 
ZrenBot, alexeymin, himcesjf, lesliezhai, ali-mohamed, jensreuterberg, abetts, 
sebas, apol, ahiemstra, mart

Reply via email to