Trying to understand the server

Jonathan Morton chromi "at" cyberspace.org
Thu, 13 Jan 2000 17:33:33 +0000


>>with WinVNC is that it needs to manually check the screen for
>>updates as
>>well as listening to Windows, which slows the actual server down rather
>>than the encoding.
>
>Could you elaborate on this for me. Please pardon my Windows ignorance.
>I did some code walkthroughs and see that a Timer is set to fire every
>second. Is this the screen update checking to which you are referring?
>Can Windows tell you that a portion of the screen is dirty and needs
>updating? I thought that updates were triggered by mouse and kb events?

OK, basically Windows tells us about >some< of the updates.  Because
Micro$oft is being monopolistic and not releasing all its APIs, we need to
do that 'polling' of the screen.  I suspect that's indeed what the Timer
does (i haven't seen the code myself).  However, we try to use what info we
can glean out of Windows as well.

Updates are NOT always triggered by mouse and kbd events - take the
blatently obvious example of a clock, and the slightly less obvious example
of IRC, and we have screen updates hapening at other times too.  In my
Mac's menu bar there is a clock which updates every second, this can be
seen to update promptly even though the Mac server I use does not need to
poll the screen (Apple does reveal the vast majority of its APIs, the
remainder of which are internal development use only).  If the WinVNC
server did not poll the screen, similar things would not show through.

--------------------------------------------------------------
from:     Jonathan "Chromatix" Morton
mail:     chromi "at" cyberspace.org  (not for attachments)
uni-mail: j.d.morton "at" lancaster.ac.uk

The key to knowledge is not to rely on people to teach you it.
--------------------------------------------------------------
Contributing to the VNC Project - http://www.uk.research.att.com/vnc/
Ask me for Macintosh VNCserver v3.3.2 beta2.1
v3.3.2 beta 2.2 due out soon!



---------------------------------------------------------------------
The VNC mailing list - see http://www.uk.research.att.com/vnc/intouch.html
---------------------------------------------------------------------