Wesnoth Performance
Moderator: Forum Moderators
something offf the beaten track
This was by way of an experiment. The result was suprisingly close to playable, though. Except for the scrolling speed.
Debian GNU/Linux (unstable)
Sun Sparc 4m (Fujitsu MB86904) 110 MHz
128 MB RAM
Sun CGsix video card
screen resolution: 1152x900x8
(note: using 1024x768 window, because full-screen mode does not work)
Map Scroll: 0 fps (seemed to be ~ 1 frame / 5-6 sec)
Units Move: 0-2 fps (averaging around 0.8 fps, I'd guess)
Just moving the cursor around (w/o scrolling): 2-4 fps
Title screen (for contrast): ~24 fps (or so it claims)
I wish you guys could see this, because it really might highlight where some of the bottlenecks are. This is (of course) with accelerated movement, but it actually takes longer to switch between characters than it does to move the characters (except, of course, when the character movement involves scrolling). And that's true for enemy/ally characters as well as my own. Curiously, though, it seems to take about the same amount of time to switch between characters even when scrolling is involved.
Debian GNU/Linux (unstable)
Sun Sparc 4m (Fujitsu MB86904) 110 MHz
128 MB RAM
Sun CGsix video card
screen resolution: 1152x900x8
(note: using 1024x768 window, because full-screen mode does not work)
Map Scroll: 0 fps (seemed to be ~ 1 frame / 5-6 sec)
Units Move: 0-2 fps (averaging around 0.8 fps, I'd guess)
Just moving the cursor around (w/o scrolling): 2-4 fps
Title screen (for contrast): ~24 fps (or so it claims)
I wish you guys could see this, because it really might highlight where some of the bottlenecks are. This is (of course) with accelerated movement, but it actually takes longer to switch between characters than it does to move the characters (except, of course, when the character movement involves scrolling). And that's true for enemy/ally characters as well as my own. Curiously, though, it seems to take about the same amount of time to switch between characters even when scrolling is involved.
-
- Posts: 855
- Joined: October 3rd, 2004, 4:52 am
- Location: Portland, OR
- Contact:
Mac OS X 10.3.8
IBM/Motorola PowerPC G4@733mhz/133mhz bus
1.5GB RAM
GeForce3
resolution: 1280x1024
scrolling: 11-20fps
moving: 45-50 (As rangek said, there is a dip in speed during the "choose movement target" mode)
Probably the foremost "speed" problem our game has is that the scrolling speed is terrible. I know we can do better, because Ambrosia's "Harry the Handsome Executive" could scroll, in any direction, using complex trig functions to control the camera speed, at at least 30fps on a 200mhz 603ev. It was only 16-bit, but that should be more than eclipsed by the comparative power of the machine I am now on.
I strongly commend whatever was done to the unit movement drawing code - in the last version, it was pitiably slow/jumpy, but in this version, it is as smooth as silk.
IBM/Motorola PowerPC G4@733mhz/133mhz bus
1.5GB RAM
GeForce3
resolution: 1280x1024
scrolling: 11-20fps
moving: 45-50 (As rangek said, there is a dip in speed during the "choose movement target" mode)
Probably the foremost "speed" problem our game has is that the scrolling speed is terrible. I know we can do better, because Ambrosia's "Harry the Handsome Executive" could scroll, in any direction, using complex trig functions to control the camera speed, at at least 30fps on a 200mhz 603ev. It was only 16-bit, but that should be more than eclipsed by the comparative power of the machine I am now on.
I strongly commend whatever was done to the unit movement drawing code - in the last version, it was pitiably slow/jumpy, but in this version, it is as smooth as silk.
I'm really not sure if we can do much better with scrolling speed, I'm afraid.Jetryl wrote: Probably the foremost "speed" problem our game has is that the scrolling speed is terrible. I know we can do better, because Ambrosia's "Harry the Handsome Executive" could scroll, in any direction, using complex trig functions to control the camera speed, at at least 30fps on a 200mhz 603ev.
The way Wesnoth currently works is to construct the frame in a back buffer, and then move 'dirty rectangles' to the frame buffer. In the case of scrolling, the entire viewport is 'dirty', and so must be moved. I've done tests, and on my system, around 60% of the time taken while scrolling is in moving the viewport from the back buffer to the frame buffer.
The only way we could improve performance substantially is to somehow avoid this large data movement. For instance, if we could perform a movement in video memory of the area that is moving, and only have to redraw the new area that is revealed. However, I haven't found a way that this can be done in SDL.
Certainly, if we are to improve scrolling speed, we will have to find something in this regard. The code to actually construct the image only accounts for around 30% of the time taken, and so even if we were able to halve this (and that in itself would be hard), we'd only be getting an overall 15% improvement.
David
“At Gambling, the deadly sin is to mistake bad play for bad luck.” -- Ian Fleming
-
- Code Contributor
- Posts: 73
- Joined: February 15th, 2005, 1:36 am
- Location: Michigan, USA
- Contact:
Mac OS X.3.8
PowerPC G3 400Mhz (512k L2 cache)
ATI Rage 128 Mobility (8MB)
512 MB RAM (PC100)
fps:
Scrolling: 9-10
Moving: 45-48 (if screen is not scrolling too)
Other:
Doing Nothing: 50fps (cap)
Title Screen: 77fps
AI Recruiting: 30fps
The game runs close to full framerate when moving units, but the scrolling speed is rather awful. Maybe a future release of SDL could improve performance? I remember that Dominions ran much better on OS X after a new version of SDL came out.
PowerPC G3 400Mhz (512k L2 cache)
ATI Rage 128 Mobility (8MB)
512 MB RAM (PC100)
fps:
Scrolling: 9-10
Moving: 45-48 (if screen is not scrolling too)
Other:
Doing Nothing: 50fps (cap)
Title Screen: 77fps
AI Recruiting: 30fps
The game runs close to full framerate when moving units, but the scrolling speed is rather awful. Maybe a future release of SDL could improve performance? I remember that Dominions ran much better on OS X after a new version of SDL came out.
What was the method to try this? I'd be interested to compare my results with a 1,07GHz G4...rogue wrote:Mac OS X.3.8
PowerPC G3 400Mhz (512k L2 cache)
ATI Rage 128 Mobility (8MB)
512 MB RAM (PC100)
fps:
Scrolling: 9-10
Moving: 45-48 (if screen is not scrolling too)
Other:
Doing Nothing: 50fps (cap)
Title Screen: 77fps
AI Recruiting: 30fps
The game runs close to full framerate when moving units, but the scrolling speed is rather awful. Maybe a future release of SDL could improve performance? I remember that Dominions ran much better on OS X after a new version of SDL came out.
-
- Code Contributor
- Posts: 73
- Joined: February 15th, 2005, 1:36 am
- Location: Michigan, USA
- Contact:
Ankka wrote:What was the method to try this? I'd be interested to compare my results with a 1,07GHz G4...rogue wrote:Mac OS X.3.8
PowerPC G3 400Mhz (512k L2 cache)
ATI Rage 128 Mobility (8MB)
512 MB RAM (PC100)
fps:
Scrolling: 9-10
Moving: 45-48 (if screen is not scrolling too)
Other:
Doing Nothing: 50fps (cap)
Title Screen: 77fps
AI Recruiting: 30fps
The game runs close to full framerate when moving units, but the scrolling speed is rather awful. Maybe a future release of SDL could improve performance? I remember that Dominions ran much better on OS X after a new version of SDL came out.
I believe they don't want "how-to" discussion in this thread. Check out this thread in the tech support forum:
http://www.wesnoth.org/forum/viewtopic.php?t=4591
If you need the updated binary, feel free to PM me your e-mail address and I will send it to you. It is about 1.1 MB.