<html>
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <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>
        <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>
  </body>
</html>