Hi all
I have an issue which is with UltraVnc that seems inexplicable:
I have written a specialised RFB client and it works well except for the initial screen update - I seem to be getting two full screen updates as opposed to an initial full screen and then just differences.
My client does the following:
1. Opens the socket and Negotiates 8 Bit, no auth and the following encodings: CopyRect, Hextile, RRE, Raw (The client and server are on the same machine - loopback enabled.)
2. The client then sends a RfbRequestFrameBufferUpdate for the full screen with incremental = false
3. Server sends a full screen as expected.
3. The client then sends a RfbRequestFrameBufferUpdate for the full screen with incremental = true
4. The server sends another full screen - obviously unnecessary.
5. Further RfbRequestFrameBufferUpdate results in just the changed regions.
I've tried debugging the server but it looks like it will take a heavy time investment to get into what its really doing. If someone could shed some light on this I'd be very grateful.
I'd be happy to supply debug or PCAP traces.
Many thanks
Toby
Windows 7 SP1
NO mirror driver or hooks.
UltraVnc 1.2.0.5
Update: UltraVNC 1.4.3.6 and UltraVNC SC 1.4.3.6: https://forum.uvnc.com/viewtopic.php?t=37885
Important: Please update to latest version before to create a reply, a topic or an issue: https://forum.uvnc.com/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://x.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: https://forum.uvnc.com/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://x.com/ultravnc1
- Reddit community: https://www.reddit.com/r/ultravnc
- OpenHub: https://openhub.net/p/ultravnc
Problem with too many full frame updates at start
- Rudi De Vos
- Admin & Developer
- Posts: 6863
- Joined: 2004-04-23 10:21
- Contact:
Re: Problem with too many full frame updates at start
under investigation
-
- Posts: 1
- Joined: 2015-03-19 10:28
Re: Problem with too many full frame updates at start
I had same problem. It is still unsolved.
- Rudi De Vos
- Admin & Developer
- Posts: 6863
- Joined: 2004-04-23 10:21
- Contact:
Re: Problem with too many full frame updates at start
This wil be fixed in next release
vncdesktopthread.cpp
vncdesktopthread.cpp
Code: Select all
//BOOL screensize_changed=false;
BOOL monitor_changed=true;
rfbServerInitMsg oldscrinfo;
Code: Select all
//BOOL screensize_changed=false;
BOOL monitor_changed=false;
BOOL initial_run = false;
if (m_desktop->m_old_monitor == 6) initial_run = true;
rfbServerInitMsg oldscrinfo;
Code: Select all
m_desktop->m_buffer.BlackBack();
}
m_desktop->m_buffer.ClearCache();
m_desktop->m_buffer.BlackBack();
InvalidateRect(NULL,NULL,TRUE);
Code: Select all
m_desktop->m_buffer.BlackBack();
}
if (!initial_run)
{
initial_run = false;
m_desktop->m_buffer.ClearCache();
m_desktop->m_buffer.BlackBack();
}
InvalidateRect(NULL,NULL,TRUE);