Sun 24 Jan 2010 09:20:37 PM UTC, original submission:
If I enable OpenGL in the video options and start a game on bridge.map, it runs too slowly. The mouse cursor does not move smoothly at all. This even happens while the game is paused or some menu is active. However, there is no such problem with islandwar.map. If I disable OpenGL, then both maps run fast enough.
The problem seems to be bridge.map uses a 4096x4096 terrain.png as its background, and islandwar.map uses only 2048x2048. Bos Wars creates one large OpenGL texture for the 4096x4096 image and that is apparently too big for the video driver or card to properly accelerate.
When Bos Wars starts up, it asks OpenGL for the maximum texture size and saves that in GLMaxTextureSize. It then splits large images into multiple smaller textures if they don't fit. However, Mesa here reports 4096 as the maximum size, and maps/bridge.map/terrain.png is 4096x4096, so it fit and Bos Wars does not split it. This is not a bug in Mesa because it does correctly draw the 4096x4096 texture, albeit slowly.
I think Bos Wars should either limit GLMaxTextureSize to e.g. 512 if OpenGL reports a larger value, or allow the user to configure the value.
Debian testing, Bos Wars trunk r9623 debug, libsdl1.2debian 1.2.13-5, xserver-xorg 1:7.4+4, xserver-xorg-video-ati 1:6.12.3-1, xserver-xorg-video-radeon 1:6.12.3-1, xserver-xorg-video-radeonhd 1.2.5-1, libgl1-mesa-dri 7.6.1-1, linux-image-2.6.32-trunk-amd64 2.6.32-5, Acer Aspire 5536G, ATI Mobility Radeon HD 4570, 512 MB video memory of which 256 MB visible to CPU.
|