<div dir="auto">Hi Juan,</div><div dir="auto">I start from the newest image from the repo, install new updates, and then load all TrueType fonts.</div><div dir="auto">It’s not a very big deal, it’s usable now that I fixed my own code to avoid forcing everything to redraw every second, and feels even smoother with HybridCanvas. Anyway I looked at it a little with AndrasSystemProfiler and it seems that every keystroke on a workspace triggers redrawing the full workspace, spending time mostly filling the background twice (first for WorkspaceWindow and then TextModelMorph). But I don’t understand all the details of how the world is drawn, maybe this is perfectly normal. And I guess it is nontrivial to compute a smaller area to redraw when a character is added.</div><div dir="auto">Also, if I open a browser, then open the halos in the browser and move the mouse pointer over the system categories list, every time a list item is highlited the whole browser is redrawn. This doesn’t happen without the halo, in that case only the unhighlighted and highlighted items are redrawn. To see the redrawing I changed BoxedMorph>>drawOn: to use ‘Color random’ instead of ‘color’.</div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, 29 Jan 2022 at 6:58 AM Juan Vuletich <<a href="mailto:JuanVuletich@zoho.com">JuanVuletich@zoho.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)"><u></u>

  
    
  
  <div bgcolor="#ffffff" text="#000000">
    Hi Luciano,<br>
    <br>
    On 1/28/2022 2:04 PM, Luciano Notarfrancesco via Cuis-dev wrote:
    <blockquote type="cite">
      <div>
        <div dir="auto">Fantastic, this solved most of the problems,
          thank you! I’m using HybridCanvas for now and it feels very
          smooth.</div>
      </div>
    </blockquote>
    <br>
    Good.<br>
    <br>
    <blockquote type="cite">
      <div>
        <div dir="auto">Part of the problem was that my window manager
          was stepping every 1 second to make sure that windows were
          properly layedout (to account for when the Cuis window changes
          size, for example). This was a bug, and was causing everything
          to be redrawn every second, but it was not slow enough to be
          noticeable until I tried it with full vector graphics. Now I
          fixed it to avoid unnecessary redraws. <br>
        </div>
      </div>
    </blockquote>
    <br>
    Excellent!<br>
    <br>
    <blockquote type="cite">
      <div>
        <div>I still think there might be a bug somewhere. The fact that
          a browser with halo feels slower than a browser with no halo
          is kind of weird. Also text input shouldn’t feel much slower
          with vector graphics, I suspect something is being
          unnecessarily redrawn on every keystroke.<br>
        </div>
      </div>
    </blockquote>
    <br>
    Running the stock Cuis image I don't see either of those problems.
    Can you share the image you are using so I can see and try to
    understand the problem?<br>
    <br>
    Thanks,</div><div bgcolor="#ffffff" text="#000000"><br>
    <br>
    <blockquote type="cite">
      <div>
        <div>
          <div class="gmail_quote"><br>
            <blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)">
              <div bgcolor="#ffffff" text="#000000"> Hi Luciano,<br>
                <br>
                This may be due to using VectorCanvas for all drawing.
                Try evaluating `MorphicCanvas activeSubclass:
                HybridCanvas.` to use BitBlt for unzoomed/unrotated
                windows, with full VG capabilities, or `MorphicCanvas
                activeSubclass: BitBltCanvas.` to completely disable VG
                (while keeping TTF working).<br>
                <br>
                Please tell how it goes.<br>
                <br>
                Thanks,<br>
                <pre style="font-family:monospace" cols="72">-- 
Juan Vuletich
<a href="http://www.cuis-smalltalk.org" style="font-family:monospace" target="_blank">www.cuis-smalltalk.org</a>
<a href="https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev" style="font-family:monospace" target="_blank">https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev</a>
<a href="https://github.com/jvuletich" style="font-family:monospace" target="_blank">https://github.com/jvuletich</a>
<a href="https://www.linkedin.com/in/juan-vuletich-75611b3" style="font-family:monospace" target="_blank">https://www.linkedin.com/in/juan-vuletich-75611b3</a>
<a href="https://independent.academia.edu/JuanVuletich" style="font-family:monospace" target="_blank">https://independent.academia.edu/JuanVuletich</a>
<a href="https://www.researchgate.net/profile/Juan-Vuletich" style="font-family:monospace" target="_blank">https://www.researchgate.net/profile/Juan-Vuletich</a>
<a href="https://patents.justia.com/inventor/juan-manuel-vuletich" style="font-family:monospace" target="_blank">https://patents.justia.com/inventor/juan-manuel-vuletich</a>
@JuanVuletich</pre>
              </div>
            </blockquote>
          </div>
        </div>
      </div>
      <div>
      </div>
    </blockquote>
    <br>
    <br>
    <pre cols="72" style="font-family:monospace">-- 
Juan Vuletich
<a href="http://www.cuis-smalltalk.org" target="_blank" style="font-family:monospace">www.cuis-smalltalk.org</a>
<a href="https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev" target="_blank" style="font-family:monospace">https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev</a>
<a href="https://github.com/jvuletich" target="_blank" style="font-family:monospace">https://github.com/jvuletich</a>
<a href="https://www.linkedin.com/in/juan-vuletich-75611b3" target="_blank" style="font-family:monospace">https://www.linkedin.com/in/juan-vuletich-75611b3</a>
<a href="https://independent.academia.edu/JuanVuletich" target="_blank" style="font-family:monospace">https://independent.academia.edu/JuanVuletich</a>
<a href="https://www.researchgate.net/profile/Juan-Vuletich" target="_blank" style="font-family:monospace">https://www.researchgate.net/profile/Juan-Vuletich</a>
<a href="https://patents.justia.com/inventor/juan-manuel-vuletich" target="_blank" style="font-family:monospace">https://patents.justia.com/inventor/juan-manuel-vuletich</a>
@JuanVuletich</pre>
  </div>

</blockquote></div></div>