i looked at XCode Instruments to see where the CPU cycles are consumed in the vncviewer process. I wanted to check if I can see a difference in the jpeg vs. jpeg-turbo build. I see roughly 20% of the load going to jpeg decoding, while 80% is spend more or less in writing the image to the screen. So on Mac the jpeg decoding seems to be a minor problem compared to image writing. I run this on a MacBook Pro with HighResolution Display - so maybe something is converted there...
Here is a screenshot showing the Main Thread vs. one of the worker threads with jpeg decoding:
Here is the first part of the main thread:
and here is the remaining part.
60% of the total CPU power for vncviewer is spend in the OS routine: argb32_image_mark_RGB24.
Googling seems to show more problems with this: http://stackoverflow.com/questions/21665473/coregraphics-argb32-image-mark-rgb24-is-slow
Yes, I'm afraid this is a somewhat known issue. Unfortunately none of the suggested fixes we've found so far have worked.
It also happens on all Macs, not just high resolution displays.