I am working on adding VNC to my product. The screen is 7", 800x480.
In the OnFlush event, I have the vncServer.Send() call. Depending on the screen that I have displayed the OnFlush Event is only updating a portion of the screen. The width and height variables are not 800 x 480. VNC can only do full-screen updates. So my code looks like this.
if (width == 800 && height == 480)
{
vncServer.Send(data, x, y, width, height);
}
The problem is that some screens never update or the VNC view doesn’t keep up with the screens physically shown on the display. In VNC viewer I will click to another screen and it will change at the display but not in VNC viewer.
To update my screens I Invalidate() individual text boxes in the dispatch timer to update the data in those text boxes. Do I need to invalidate the entire screen to get a full screen sent to OnFlush event?
What is strange is some screens have no problems updating. Others just won’t update. It seems to be the more data that is updating the more likely it is to work okay. Is there something in the graphics library that determines it is more efficient to just do a full-screen update instead of only a partial update?