<table><tr><td style="">Zren created this revision.<br />Herald added a project: Plasma.<br />Herald added a subscriber: plasma-devel.<br />Zren requested review of this revision.
</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D27337">View Revision</a></tr></table><br /><div><strong>REVISION SUMMARY</strong><div><p>BUG: 417454</p>

<p>The emojier fairly slow. Launching is slow. Resizing the window is slow. Changing pages is slow. Scrolling is also slow.</p>

<p>On launch, the sidebar widens from <tt style="background: #ebebeb; font-size: 13px;">0px</tt>, resizing the <tt style="background: #ebebeb; font-size: 13px;">GridView</tt>, which resizes <tt style="background: #ebebeb; font-size: 13px;">cellWidth</tt> as we abuse it's the width calculation to create cell spacing. Resizing 1000 emoji Labels is slow. This also happens when you resize the window. The cpu core spikes to 100% (on a 2.8Ghz cpu).</p>

<p><a href="https://phabricator.kde.org/F8098605" style="background-color: #e7e7e7;
          border-color: #e7e7e7;
          border-radius: 3px;
          padding: 0 4px;
          font-weight: bold;
          color: black;text-decoration: none;">F8098605: screen-2020-02-11_18.21.04.mp4</a></p>

<p>After selecting an emoji, closing, and reopening, the recent emoji's is shown first (without a search box) which opens faster since it has much less work. However switching to the all emoji page resurfaces the problem.</p>

<p>Scrolling is also a problem, as loading the emoji <tt style="background: #ebebeb; font-size: 13px;">QQC2.Label</tt>s is slow. So we'll use a <tt style="background: #ebebeb; font-size: 13px;">Loader { asynchronous: true }</tt>. I'm not sure why it loads them from bottom to top.</p>

<p>Here's what it looks like after this patch. Resizing no longer blocks, nor does scrolling.</p>

<p><a href="https://phabricator.kde.org/F8098612" style="background-color: #e7e7e7;
          border-color: #e7e7e7;
          border-radius: 3px;
          padding: 0 4px;
          font-weight: bold;
          color: black;text-decoration: none;">F8098612: screen-2020-02-11_18.18.37.mp4</a></p></div></div><br /><div><strong>TEST PLAN</strong><div><p>How I compile and run emojier by itself:<br />
<a href="https://gist.github.com/Zren/1d16e51199c9e47718ccfe41755d8ee2" class="remarkup-link" target="_blank" rel="noreferrer">https://gist.github.com/Zren/1d16e51199c9e47718ccfe41755d8ee2</a></p></div></div><br /><div><strong>REPOSITORY</strong><div><div>R119 Plasma Desktop</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D27337">https://phabricator.kde.org/D27337</a></div></div><br /><div><strong>AFFECTED FILES</strong><div><div>applets/kimpanel/backend/ibus/emojier/ui/CategoryPage.qml</div></div></div><br /><div><strong>To: </strong>Zren<br /><strong>Cc: </strong>plasma-devel, Orage, LeGast00n, The-Feren-OS-Dev, cblack, jraleigh, zachus, fbampaloukas, GB_2, ragreen, ZrenBot, ngraham, alexeymin, himcesjf, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, ahiemstra, mart<br /></div>