Существует много возможных способов обнаружения изменений на экране, но наиболее эффективным, вероятно, будет использование зеркального драйвера.
VNC также использует систему перехвата для регистрации областей экрана, которые "могут быть изменены".
Возможен захват всего и последующее сравнение пикселей на предмет изменений, но это требует немного больше работы на стороне сервера, поскольку вам нужно сохранить буфер того, что вы уже отправили клиенту. Этот буфер затем используется при сравнении текущего снимка для обнаружения изменений.