No. Although both use the same underlying NX libraries, you can't mix and match X2GO/FreeNX clients/servers. (Although you *can* run x2goserver and FreeNX server in parallel on the same server. In fact, I'm doing this right now in preparation for our transition to x2go.) I'm finding x2go to perform at least as well as NX. And FreeNX is more or less an abandoned project at this point, as is NeatX. It's probably not worth the trouble of trying to get FreeNX installed and working on CentOS. (CentOS 4 was the last release that I've installed FreeNX on.) I've no reason to think FreeNX would do any better than x2go. But if there's a way to up the cache size in x2go, that might be worth a try. I've looked in the sessions and settings files in ~/.x2goclient/ and there don't seem to be any hidden options there that would apply. I'm guessing that we're probably getting the NX default values of 16MB RAM cache and 32MB disk cache, which ought to cover most situations reasonably well.
One other option that would be easy enough to try would be one of the VNCs. In general, x2go way outperforms them. But you never know. For this particular workload, something like tightvnc, tigervnc, or vnc4 might work better. I doubt it. But vnc is easy to set up for a test.
Any possibility that changing settings in the java application might mitigate the problem?
BTW, thanks for the reference to 'charles':
http://www.charlesproxy.com/documentation/proxying/throttling/
I didn't know about this, and had been looking for something similar.
-Steve