D27337: [Emojier] Optimize performance

Chris Holland noreply at phabricator.kde.org
Wed Feb 12 10:10:39 GMT 2020


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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20200212/9593f0c2/attachment-0001.html>


More information about the Plasma-devel mailing list