<html>
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    Il 12/03/2016 23:13, Fabio Fantoni ha scritto:<br>
    <blockquote cite="mid:56E49476.2000805@m2r.biz" type="cite">
      <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
      <br>
      <br>
      <div class="moz-cite-prefix">Il 10/03/2016 22:58, Yury Shvedov ha
        scritto:<br>
      </div>
      <blockquote cite="mid:56E1EDEF.4020908@lvk.cs.msu.su" type="cite">
        <meta content="text/html; charset=utf-8"
          http-equiv="Content-Type">
        <br>
        <div class="moz-cite-prefix">On 03/10/2016 06:04 PM, Fabio
          Fantoni wrote:<br>
        </div>
        <blockquote cite="mid:56E18CF1.7060002@m2r.biz" type="cite">
          <meta content="text/html; charset=utf-8"
            http-equiv="Content-Type">
          <span id="result_box" class="" lang="en"><span class="hps">In
              recent</span> <span class="hps">years</span> <span
              class="hps">have</span> <span class="hps">done too little</span>
            <span class="hps">programming and my</span><span class="hps">
              memory is</span> <span class="hps">bad</span> <span
              class="hps">lately.</span></span><br>
        </blockquote>
        <blockquote cite="mid:56E18CF1.7060002@m2r.biz" type="cite">
          About the performance problem I remember something like a big
          problem also in xspice that seems improved a lot with deferred
          fps:<br>
          <a moz-do-not-send="true" class="moz-txt-link-freetext"
href="https://lists.freedesktop.org/archives/spice-devel/2012-August/010276.html">https://lists.freedesktop.org/archives/spice-devel/2012-August/010276.html</a><br>
          Can be useful for this project or with wayland/weston is
          possible do something similar in a different and/or better
          way?<br>
        </blockquote>
        Of corse this is useful like all the stuff you found in the net
        last time. But you chaotically offers me many different things
        without any result except my "OK, I will take a look". Because I
        have not much time to investigate it with you. You are looking
        for the answers on your questions in the internet, while I have
        a couple in the code. I see good way for the next steps and have
        tried to explain them to you. I'm afraid that you didn't
        understand them, so I'll try again at the bottom of this
        message.<br>
        After that I suggest to decide and fix what we will do next.<br>
        <blockquote cite="mid:56E18CF1.7060002@m2r.biz" type="cite"> In
          the weekend probably I'll look better the weston code but I
          not know if I'll have needed freetime and <span
            id="result_box" class="short_text" lang="en"><span
              class="hps">knowledge for doing something useful for the
              mainly problem in a short time.</span></span><br>
        </blockquote>
        Maybe you better to do something in what you sure? How about fps
        tests like ones in your link?<br>
      </blockquote>
      <br>
      I did a fast test with screen-share for see if it can works also
      with other compositor instead rdp but was failed and I not found
      nothing in weston log about.<br>
      I tried to see if was possible have weston working local normal
      with drm (3d and good performance) and additionally add spice
      session and after check if was possible and better add a "deferred
      fps" in screen-share to limit the screen data that
      spice-compositor must elaborate.<br>
      I take a fast look also to qemu and xspice code trying to
      understand the initial improvement to do about image processing
      but seems that qemu do operation with vm qxl drivers and xspice
      similar copied by it and using qxl driver.<br>
      I <span id="result_box" class="short_text" lang="en"><span
          class="hps">I do not know</span> <span class="hps">if</span>
        <span class="hps">this is possible in other better way with
          weston (</span></span><span id="result_box" class="short_text"
        lang="en"><span class="hps"><span id="result_box" class=""
            lang="en"><span class="hps">I have no</span> <span
              class="hps">knowledge to understand</span> <span
              class="hps">if it is</span> <span class="hps">something
              like</span> <span class="hps">what you mean</span> <span
              class="hps">about</span> <span class="hps">making a</span>
            <span class="hps">spice_renderer</span></span>).<br>
        </span></span><span id="result_box" class="" lang="en"><span
          class="hps">Maybe tomorrow</span> <span class="hps">I will
          have</span> <span class="hps">a few more hours</span> <span
          class="hps">of time</span> <span class="hps">and do not know</span>
        <span class="hps">whether to try</span> <span class="hps">anyway</span>
        <span class="hps">to</span> <span class="hps">add</span> <span
          class="hps">deferred</span> <span class="hps">fps</span> <span
          class="hps">quickly from</span> <span class="hps">xspice or
          looking something about weston things you write below.<br>
        </span></span></blockquote>
    <br>
    Unfortunately I must did other things today and I had only short
    time to give another fast look to code, I did also another test (<span
      id="result_box" class="short_text" lang="en"><span class="hps">to
        find</span> <span class="hps">some data</span> <span
        class="hps">on how is useful to proceed</span></span> without
    waste time), I found high cpu usage (only one core, like one spice <span
      id="result_box" class="short_text" lang="en"><span class="hps">efficiency</span>
      <span class="hps">problem that</span> <span class="hps">I had
        noticed</span> <span class="hps">long ago instead weston ifself</span></span>)
    even if without any spice session, then I enabled spice debug and I
    see input fps to 967 (with no spice session and without any screen
    change I suppose), then deferred fps seems a good fast workaround to
    do for start (I'll try to implement it following xspice next
    weekend) and try to send only the difference (where possible) seems
    probably the best thing as you said.<br>
    <br>
    <blockquote cite="mid:56E49476.2000805@m2r.biz" type="cite"><span
        id="result_box" class="" lang="en"><span class="hps"> <br>
        </span></span><br>
      <blockquote cite="mid:56E1EDEF.4020908@lvk.cs.msu.su" type="cite">
        <blockquote cite="mid:56E18CF1.7060002@m2r.biz" type="cite"> I
          started to do small things fast and easy for doing something
          in short time and start to watch something about weston and
          this project code<br>
          Things done I think/hope is still something useful because
          make possible do some fast tests (I think useful for a project
          in development), remote use (lan or wan) that I think is the
          main goal of this project, auth (password) is needed for at
          least an essential security (mainly for wan test without vpn),
          image compression to make it usable on <1gbps network <span
            id="result_box" class="short_text" lang="en"><span
              class="hps">and not</span> <span class="hps">throttle the</span>
            <span class="hps">network</span></span>, and additional wan
          compressions to make it usable on wan connections (if are not
          too bad) based on my spice experience.<br>
        </blockquote>
        There much more ways to decrease the network usage and increase
        fps except compression.<br>
        <blockquote cite="mid:56E18CF1.7060002@m2r.biz" type="cite"> I
          used/tried many remote access softwares, mainly for virtual
          machine but not only, spice is a very good one, with high
          quality but <span id="result_box" class="" lang="en"><span
              class="hps">with</span> <span class="hps">efficiency</span><span
              class="hps">/</span><span class="hps">latency issues</span>
            <span class="hps">visible</span> <span class="hps">in most</span>
            recent use <span class="hps">cases.<br>
              I'm trying to help this project because seems the better
              quality and full open source project I found to reach one
              of my </span></span><span class="gt-baf-back gt-baf-hl">purpose:


            remote access and remote assistance on linux physical
            machine; one missed or bad thing on actual linux machines
            and one blocking step for windows->linux migration in
            many cases. There is also xspice project in </span><span
            class="gt-baf-back gt-baf-hl"><span id="result_box"
              class="short_text" lang="en"><span class="hps">a more
                advanced state but is based on xorg that is old, </span></span></span><span
            class="gt-baf-back gt-baf-hl"><span id="result_box"
              class="short_text" lang="en"><span class="hps"><span
                  id="result_box" class="" lang="en"><span class="hps">with

                    less</span> <span class="hps">potential and</span>
                  <span class="hps">I suppose it is</span> <span
                    class="hps">a bad</span> <span class="hps">long-term</span>
                  <span class="hps">choice.<br>
                  </span></span></span></span></span></blockquote>
        I'm appreciate your help and interest (the windows to linux
        migration is really good point!) and I hope one day this project
        became something we wand to see.<br>
        <blockquote cite="mid:56E18CF1.7060002@m2r.biz" type="cite"><span
            class="gt-baf-back gt-baf-hl"><span id="result_box"
              class="short_text" lang="en"><span class="hps"><span
                  id="result_box" class="" lang="en"><span class="hps">
                  </span></span></span></span>Another thing is that 3d
            hw acceration is </span><span class="gt-baf-back gt-baf-hl"><span
              id="result_box" class="short_text" lang="en"><span
                class="hps">increasingly necessary and in future will be
              </span></span>essential for any use (also basis) on any
            device (including virtual machine). Trying to implement the
            better solution as possible to have 3d hw support and
            improve spice </span><span id="result_box"
            class="short_text" lang="en"><span class="hps">efficiency
              and latency seem more easy and fast here before instead of
              doing in virtual machine or I'm wrong?<br>
            </span></span></blockquote>
        I'm afraid I didn't catch last sentence. What doing in virtual
        machine?<br>
        <br>
        Returning to our main topic. How do I suppose to increase fps
        and decrease network usage?<br>
        The main idea is to decrease the amount of image data sended via
        network. For example, we have an application window moving on
        the desktop background. The bad way is to compose the whole
        desktop image on each step on the server and send it to client.
        But the better way is to send to client 2 images once and tell
        him to change position of one of them when it is needed. I think
        this example is obvious for you and you should know that spice
        can perfectly handle such tasks (moving images remotely and much
        more). This is the first aim I want to achieve: to cache the
        per-application surface on the client side, and left the
        building of final desktop image to it. <br>
        This can be done by creating the spice_renderer and using it
        instead of pixman_renderer for distributed painting.<br>
        <br>
        Another thing I want to do first is to understand, what does the
        rdp-compositor do before sending the image data? The learning
        how dose rdp_output_repaint and other functions works will help
        us to find another one already passed way to optimisation.<br>
        <br>
        What do you think? Do you have another suggestions about the way
        of this spice-compositor developing?<br>
      </blockquote>
      <br>
      <span id="result_box" class="" lang="en"><span class="hps">I'm
          having</span> <span class="hps">difficulty</span> <span
          class="hps">to understand</span> <span class="hps">at least
          the basics</span> <span class="hps">of</span> <span
          class="hps">what is need</span><span class="hps"></span>ed <span
          class="hps">in a short time</span><span>, for sure</span> <span
          class="hps">you know</span> <span class="hps">much more.</span><br>
        <span class="hps">Maybe</span> <span class="hps">about</span> <span
          class="hps">tips on what to do</span> <span class="hps">can</span>
        <span class="hps">be helpful</span> <span class="hps">to post</span>
        <span class="hps">the current</span> <span class="hps">draft of
          the</span> <span class="hps">patch</span> <span class="hps">as

          an RFC</span> <span class="hps atn">(</span><span>request for
          comments</span><span>)</span> <span class="hps">on</span> <span
          class="hps">wayland</span><span class="atn">-</span><span
          class="">devel</span> <span class="hps">and spice</span><span
          class="atn">-</span><span>devel</span> <span class="hps">and</span>
        <span class="hps">probably</span> <span class="hps">some</span>
        <span class="hps">expert</span> <span class="hps">developers</span>
        <span class="hps">about</span> <span class="hps">them</span> <span
          class="hps">can</span> <span class="hps">fastly</span> <span
          class="hps">give</span> <span class="hps">some</span> <span
          class="hps">advices.<br>
          I did the same with other things </span></span><span
        id="result_box" class="" lang="en"><span class="hps">and they
          gave me</span> <span class="hps">useful information to</span>
        <span class="hps">make fast</span> <span class="hps">patches</span>
        <span class="hps">I needed</span> <span class="hps">analyzing</span>
        <span class="hps">a few specific</span> <span class="hps">things</span>
        <span class="hps">instead of</span> <span class="hps">read</span><span
          class="hps">/</span><span class="hps">understand</span> <span
          class="hps">all the code</span> <span class="hps">of</span> <span
          class="hps">large pieces. Probably also with this can be
          useful to understand something useful I can do </span></span><span
        id="result_box" class="" lang="en"><span class="hps"><span
            id="result_box" class="short_text" lang="en"><span
              class="hps">the first</span> <span class="hps">weekends
              instead spent all time to learn, but if learn many things
              before is really needed I'll try to do it. </span></span></span></span><span
        id="result_box" class="" lang="en"><span class="hps"><span
            id="result_box" class="short_text" lang="en"><span
              class="hps"><span id="result_box" class="" lang="en"><span
                  class="hps">It seems that</span> <span class="hps">unfortunately</span>
                <span class="hps">I'm no longer</span> <span
                  class="hps">quick to</span> <span class="hps">learn/</span><span
                  class="hps">understand</span> <span class="hps">as I
                  did</span> <span class="hps">years ago (</span></span></span></span></span></span><span
        id="result_box" class="" lang="en"><span class="hps"><span
            id="result_box" class="short_text" lang="en"><span
              class="hps"><span id="result_box" class="" lang="en"><span
                  class="hps"><span id="result_box" class="" lang="en"><span
                      class="hps"><span id="result_box" class=""
                        lang="en"><span class="hps">years ago</span> <span
                          class="hps">unfortunately</span></span>,
                      however,</span> <span class="hps">I wasted</span>
                    <span class="hps">thousands of</span> <span
                      class="hps">hours</span> <span class="hps">with</span>
                    <span class="hps">unnecessary</span> <span
                      class="hps">proprietary projects instead</span></span>)</span></span></span></span></span></span>
      :(<span id="result_box" class="" lang="en"><span class="hps"><span
            id="result_box" class="short_text" lang="en"><span
              class="hps"><br>
              <br>
              Thanks for any reply and sorry for my bad english.<br>
              <br>
            </span></span></span></span>
      <blockquote cite="mid:56E1EDEF.4020908@lvk.cs.msu.su" type="cite">
        <br>
        <pre class="moz-signature" cols="72">Kind regards
Yury Shvedov</pre>
      </blockquote>
      <br>
    </blockquote>
    <br>
  </body>
</html>