Latency problem

41 views
Skip to first unread message

Nooshin Eghbal

unread,
Oct 3, 2022, 4:46:41 PM10/3/22
to TigerVNC Developer Discussion
Hello,

I was reading Development: Latency page and wondering what is the current strategy of TigerVNC out of the ideas explained in this page?

Thanks,
Nooshin

Pierre Ossman

unread,
Oct 5, 2022, 2:55:08 AM10/5/22
to Nooshin Eghbal, TigerVNC Developer Discussion
On 03/10/2022 22:46, Nooshin Eghbal wrote:
> Hello,
>
> I was reading Development: Latency
> <https://github.com/TigerVNC/tigervnc/wiki/Development%3A-Latency> page and
> wondering what is the current strategy of TigerVNC out of the ideas
> explained in this page?
>

The last one, full congestion control based on TCP Vegas. There have
been numerous tweaks to the code since that document was written as well.

Regards
--
Pierre Ossman Software Development
Cendio AB https://cendio.com
Teknikringen 8 https://twitter.com/ThinLinc
583 30 Linköping https://facebook.com/ThinLinc
Phone: +46-13-214600

A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?

Nooshin Eghbal

unread,
Oct 5, 2022, 5:35:59 AM10/5/22
to Pierre Ossman, TigerVNC Developer Discussion
Thanks for your response.

If TigerVNC is running over TCP, why does it need to have its own congestion control?
And why you have not used BBR as a newer non-loss-based CCA?

Is there any updated documentation?
> --
> You received this message because you are subscribed to a topic in the Google Groups "TigerVNC Developer Discussion" group.
> To unsubscribe from this topic, visit https://groups.google.com/d/topic/tigervnc-devel/HXAeas5WMz0/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to tigervnc-deve...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/tigervnc-devel/4af058b2-2cb6-7d5e-09f7-6f4860d2637c%40cendio.com.
>

Pierre Ossman

unread,
Oct 5, 2022, 6:28:40 AM10/5/22
to Nooshin Eghbal, TigerVNC Developer Discussion
On 05/10/2022 11:35, Nooshin Eghbal wrote:
> Thanks for your response.
>
> If TigerVNC is running over TCP, why does it need to have its own
> congestion control?

It's detailed in the wiki page you linked. But in short, relying on just
TCP's own congestion control gives a very high latency, as we often get
excessive buffering.

> And why you have not used BBR as a newer non-loss-based CCA?
>

Because TigerVNC's code is much older than BBR. And the existing code
has worked well enough that there hasn't been any incentive to look at a
different algorithm.

If you want to have a look and see if things can be improved, then you
are very much welcome to do so.

> Is there any updated documentation?
>

I'm afraid not. You'll have to check the code:

https://github.com/TigerVNC/tigervnc/blob/master/common/rfb/Congestion.cxx

Nooshin Eghbal

unread,
Oct 5, 2022, 6:56:06 AM10/5/22
to Pierre Ossman, TigerVNC Developer Discussion


On Wednesday, October 5, 2022, Pierre Ossman <oss...@cendio.com> wrote:
> On 05/10/2022 11:35, Nooshin Eghbal wrote:
>>
>> Thanks for your response.
>>
>> If TigerVNC is running over TCP, why does it need to have its own
>> congestion control?
>
> It's detailed in the wiki page you linked. But in short, relying on just TCP's own congestion control gives a very high latency, as we often get excessive buffering.
>
>> And why you have not used BBR as a newer non-loss-based CCA?
>>
>
> Because TigerVNC's code is much older than BBR. And the existing code has worked well enough that there hasn't been any incentive to look at a different algorithm.

Is there any set of results to show how TigerVNC can improve the performance over high RTT networks compared to any other VNC implementation?

Pierre Ossman

unread,
Oct 7, 2022, 3:25:02 AM10/7/22
to Nooshin Eghbal, TigerVNC Developer Discussion
On 05/10/2022 12:56, Nooshin Eghbal wrote:
>
> Is there any set of results to show how TigerVNC can improve the
> performance over high RTT networks compared to any other VNC implementation?
>

No, I'm afraid we haven't kept data sets from development and testing.
The difference should be apparent, though, as frame rate will decrease
linearly with RTT using other¹ VNC implementations. TigerVNC, on the
other hand, should be able to maintain full bandwidth usage.

¹ with the exception of TurboVNC, which implements the same system as
TigerVNC.
Reply all
Reply to author
Forward
0 new messages