The deferred update setting shouldn't make any difference on a high-speed network, although in the long term I will look at tweaking it for better WAN performance (that's the next project after getting the LAN performance in the ballpark.)
CPU percentages and frame rates, in and of themselves, tell only part of the story. We can't tell just by looking at the frame rate what is actually limiting it. We have to additionally compute the "CPU-limited frame rate" and the "network-limited frame rate", which express how many frames/second that the server CPU and the network could theoretically process. These are inversely related to the encoding time for each frame and the frame size. In other words, the longer it takes to encode a single frame, the fewer frames/second that the server CPUs can process before becoming 100% busy. Likewise, the larger each frame is on the network, the fewer frames can fit into the available bandwidth. We're on a gigabit network, so the network is not even close to being a limiting factor here. We then look at the CPU-limited frame rate and observe that that isn't the bottleneck either. Thus, we can conclude that the main bottleneck to the overall frame rate is the client. By observing the CPU-limited frame rate, we conclude that removing this client bottleneck would cause the bottleneck to shift to the server, but it would still be much slower than TurboVNC, at least for the JPEG cases (since the server's CPU-limited frame rate is about 12 fps.) Thus, both client and server need to be optimized. I'm currently looking at how to add the 32-bit pixel format extensions to libjpeg/SIMD as well as make it run on 64-bit. The former should allow me to eliminate some buffer copies in the Tight encoder/decoder, which is step 1 of probably about 5 or 6 steps that will be required to optimize this. Pierre Ossman wrote: > The numbers are a bit confusing. TigerVNC is given a lower framerate, > but it does so with less CPU. So what is keeping it from outputing the > frames at the same rate? Is the "deferred update" setting the same in > both implementations? > > ------------------------------------------------------------------------------ _______________________________________________ Tigervnc-devel mailing list Tigervnc-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/tigervnc-devel