Reputation: 19679
I am trying to create a simple application for watching a screen in Qt. I have written my own server and client. At the moment the client simply sends a screenshot of the entire screen to the server so it can be displayed. I am just wondering if I can implement VNC into my server and client, or is there a way of comparing two images so I can send only what has changed?
The client and server use UDP to send the screenshot across and I want the image in the best quality possible.
Upvotes: 2
Views: 1108
Reputation: 903
There are many possible ways of detecting changes to the screen, but the most efficient would probably be to use a mirror driver.
VNC also uses a hooking system to register areas of the screen that are "likely to be changed".
Grabbing everything and then comparing pixels for changes are also possible, but requires a bit more work on the server side since you need to keep a buffer of what you have already sent to the client. That buffer is then used when you compare the current snapshot to detect changes.
Upvotes: 1