<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>