Network speed in WINE app

Jan 14, 2012 10:54

I'm running the TradeWars Game Server in WINE. Connecting to it on the local loopback, it's blazingly fast. But over my 100mbps network, it's unacceptably slow. It feels like I'm playing on an old 9600 baud modem!

Could it have something to do with native vs. builtin DLLs? Or the kernel's network frame size?

Leave a comment

Comments 9

aetherspoon January 15 2012, 13:47:03 UTC
For TradeWars 2002? Wouldn't a 9600 baud modem be a bit slow but accurate? :P
Or, more seriously, it should easily be fast enough for anything being emulated that old... but wouldn't a TW2002 server be a DOS-based server anyway? If so, why not just use DOSBox?

Reply

madscience January 15 2012, 15:47:04 UTC
Yeah, TW2002. The modern TradeWars Game Server is a Win32 app. And players demand speed!

I might try the advice from the WINE troubleshooting FAQ and see how it runs on real Win98 or XP. Having run the door version on a 486SX25 with 4MB RAM, I would expect TWGS to run decently on a dual-core Atom netbook with 512MB. But the game is real-time interactive now, and of course there's 15+ years of OS bloat...

Reply

aetherspoon January 15 2012, 17:35:26 UTC
Are there any events being logged to console if you launch wine from a terminal?

Reply

madscience January 21 2012, 16:24:08 UTC
Only one, a fixme:font message about an untranslated charset.

Reply


kazriko January 16 2012, 18:50:43 UTC
Huh, I didn't know they were still making that game. I used to play it way back on my own BBS.

Have you tried running it natively on a similar hardware platform? Atom chips are surprisingly underpowered even for the spec the espouse. Also, make sure you have them turned all the way up to 1.6ghz. Linux sometimes tries to adaptively adjust their speed and usually end up leaving them at 800mhz all the time. at 800 mhz, they're probably slower than my old Athlon 500mhz system. That EEE901 system I have was the worst purchase I've ever done due to the dodgy drivers and pathetic processor.

It sounds like it's not the processor though. Do you connect with Telnet or some other tool? How large are the packets? Too small and some network cards may have issues. Most network cards should handle 1500 byte packets perfectly, but may not perform with a flood of 10-15 byte packets. Have you tried it on a different system with a different network card on Wine?

Reply

madscience January 21 2012, 16:50:42 UTC
I disabled CPU scaling and forced it to 1.6 GHz, but it didn't make any perceptible difference in the speed. It just made the fan run constantly.

The biggest difference actually came from switching to FVWM. (I changed the scaling after switching WMs.)

Reply

madscience January 21 2012, 17:15:40 UTC
Actually, CPU scaling might have been the difference. I'll keep beating on it with different configurations.

Reply


benanov January 17 2012, 04:12:26 UTC
I'm going to guess bufferbloat. See if this helps:

sudo ifconfig eth0 txqueuelen 0

Linux sets the txqueuelen value at 1000. That's a huge buffer to fill before TCP can begin to detect when there's slowdown on the lines and things like that. It will generally manifest as latency under load, but it might help your game server if it's doing its own buffering.

Reply

madscience January 21 2012, 16:29:15 UTC
That seemed to help a little. But the most perceptible difference was when I switched from GNOME to FVWM!

Reply


Leave a comment

Up