I've been doing a lot of testing around this and I've found the following results, which are totally independent of the encoding mechanism used, color count, etc. This appears to be a client-side scaling issue.
- When the viewer is exactly the size of the remote desktop, CPU usage hovers around 3-4%.
- If I maximize the VNC viewer, CPU usage immediately jumps to around 15%. This happens regardless of the scaling mode. In 100% zoom, the client just adds black borders around the remote desktop; in auto scale mode, the remote desktop is upscaled to fit the VNC viewer window. These both result in an additional 15% CPU usage in the client.
- If I resize the viewer window by as little as one pixel in either dimension, I see CPU usage jump to around 15% as well.
It seems unreasonable to me that adding black borders around the remote view results in such a huge jump in consumption.
Whoops, I forgot version information.
TightVNC Viewer for Windows 2.8.11, running on Windows 10.