Hi All.
We are using Ultra VNC internally in our company but we have some performance problems and we want to pinpoint the reason (network, capturing desktop, rendering, actions take the most time etc.). We've checked the code but we see that it is not a Request/Response communication between server and viewer (sometimes server returns more than one response for some requests, like remote buffer update, and as we understood, this communication can be asynchronous). We want to correlate any request and response to have timings so we can extract the information needed to take action.
My question is; can we have extra information, like a message id, correlation id + timestamp etc. with the actual message (any rfb command or the ones that takes more than average time) without breaking anything (it should be compatible with unmodified endpoints (server or viewer)). Due to the structure we have, we want to collect this data in the computer that Ultra VNC Viewer runs.
Does anyone have an idea how we can do that?
Thanks in advance.
Update: UltraVNC 1.4.3.6 and UltraVNC SC 1.4.3.6: viewtopic.php?t=37885
Important: Please update to latest version before to create a reply, a topic or an issue: viewtopic.php?t=37864
Join us on social networks and share our announcements:
- Website: https://uvnc.com/
- GitHub: https://github.com/ultravnc
- Mastodon: https://mastodon.social/@ultravnc
- Facebook: https://www.facebook.com/ultravnc1
- X/Twitter: https://twitter.com/ultravnc1
- Reddit community: https://www.reddit.com/r/ultravnc
- OpenHub: https://openhub.net/p/ultravnc
Important: Please update to latest version before to create a reply, a topic or an issue: viewtopic.php?t=37864
Join us on social networks and share our announcements:
- Website: https://uvnc.com/
- GitHub: https://github.com/ultravnc
- Mastodon: https://mastodon.social/@ultravnc
- Facebook: https://www.facebook.com/ultravnc1
- X/Twitter: https://twitter.com/ultravnc1
- Reddit community: https://www.reddit.com/r/ultravnc
- OpenHub: https://openhub.net/p/ultravnc
Performance Measurements with 1.2.2.3
- Rudi De Vos
- Admin & Developer
- Posts: 6842
- Joined: 2004-04-23 10:21
- Contact:
Re: Performance Measurements with 1.2.2.3
i7 HD 630 -> 20-35 FPS (1920x1200) video
DDengine capture method
video (u2) encoder.
1 Gb LAN
Cpu usage 5-20%,
Using youtube 60 FPS test video's
Using the ddengine it's as fast as with a mirror driver on the old OS's, but the requirements for a video card are higher. The capture is done using DirectX..
DDengine capture method
video (u2) encoder.
1 Gb LAN
Cpu usage 5-20%,
Using youtube 60 FPS test video's
Using the ddengine it's as fast as with a mirror driver on the old OS's, but the requirements for a video card are higher. The capture is done using DirectX..
Re: Performance Measurements with 1.2.2.3
Hi Rudi. Thank you for your reply but I really need to have some measurements inside of the Ultra VNC Server and Ultra VNC Viewer like:
Is there a way to do that, even if we need to alter the code?
- For Viewer:
- When command X is sent
- When the response for the command X is received (exact match of the command X, not only the type, also the instance of the command)
- When command X is received (we need to match exact command that is sent from the viewer)
- When the corresponding response is sent
Is there a way to do that, even if we need to alter the code?
- Rudi De Vos
- Admin & Developer
- Posts: 6842
- Joined: 2004-04-23 10:21
- Contact:
Re: Performance Measurements with 1.2.2.3
The rfb protocol doesn't have a package ID, each request for udate is the same package.
Possible a network sniffer would do a better job then trying to measure packages.
Did you already tried to set the cpu to 100, server poll properties page.
I doesn't only allow more cpu, but also use a internal faster mode to send data
Check what this option does in the code, this are possible some good spots to monitor.
Possible a network sniffer would do a better job then trying to measure packages.
Did you already tried to set the cpu to 100, server poll properties page.
I doesn't only allow more cpu, but also use a internal faster mode to send data
Check what this option does in the code, this are possible some good spots to monitor.
Re: Performance Measurements with 1.2.2.3
Thank you for your reply Rudi. Can we add some internally generated message ID to the protocol without breaking anything? If so, do you know how to do? It doesn't have to be for every command. Initially we are interested in command(s) for screen update.Rudi De Vos wrote:The rfb protocol doesn't have a package ID, each request for update is the same package.
...
Normally, we don't want to break anything on the other side (client or server) but if there is no way to be backward (modified<->unmodified) compatible, still, we would like to implement something for this purpose. We can try to match modified/unmodified server and viewer somehow.
Thanks in advance.