Bug 9435 - Slow performance when getting the error: [driAllocateTexture:636] unable to allocate texture
Summary: Slow performance when getting the error: [driAllocateTexture:636] unable to a...
Status: RESOLVED NOTABUG
Alias: None
Product: Mesa
Classification: Unclassified
Component: Drivers/DRI/r200 (show other bugs)
Version: git
Hardware: x86 (IA32) Linux (All)
: high normal
Assignee: Default DRI bug account
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-12-23 16:26 UTC by Juan Garcia
Modified: 2009-08-24 12:25 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments

Description Juan Garcia 2006-12-23 16:26:34 UTC
Hi DRI Development,

when playing Cube 2 Sauerbraten I get unplayable slow performance when loading
for example some of the Single Player missions, like "An Army of one". I get 1
FPS. With the ATI proprietary drivers I get around 25 FPS (but because of the
memory leak of those, the games crashes after 1 minute).

When I defines MESA_DEBUG, I get the following error when playing those missions
repeteadly in the shell console:

[driAllocateTexture:636] unable to allocate texture

I have compiled DRI with MESA 3D 6.5.2 following the step-list in
dri.freedesktop.com. And I get DRI direct rendering as Yes. Installation seems fine.

My video card is an ATI Mobility Radeon 9000 R250 FireGL Rev02 (according to the
"lspci" command output). I am using the Ubuntu distribution 6.10 edgy and kernel
2.6.17.10.

Other applications and games, run nicely with DRI.
But I think that Sauerbraten makes heavy use of the textures.

Let me know if you need more info.
Comment 1 Roland Scheidegger 2006-12-23 17:53:10 UTC
I suspect you're just really low on texture memory (32MB graphics ram?). The
warning you're seeing can happen if an application tries to bind several large
textures at the same time which don't fit into the texture heap. Your xorg log
file will tell you how much memory is available for textures (note the r200 dri
driver won't use the gart texture area). You can adjust the default value of
what sizes of textures are advertized by the driver (use driconf or
"allow_large_textures=0", which will force the driver to advertize only sizes
which it can always fit into ram, even under worst-case conditions). However, if
the app does not correctly adjust the texture sizes it's going to use and uses
more than the driver announces it will fail to render correctly. If the app can
use precompressed textures, you can force that via driconf too, or install the
s3tc library (this is useful even if the app can use online compression), which
might help. If the app has some texture detail option, turn it down. Otherwise,
turning down your xorg resolution will help too, though I'd suspect even if you
manage to free up enough ram to just squeeze in all textures required at once,
performance will probably not be good enough due to frequent texture thrashing.
There's also a (quite new) xorg config option to increase the percentage
reserved for textures, though if you're really low on memory you can't increase
it any more.
Comment 2 Juan Garcia 2006-12-24 00:38:39 UTC
Hi, sorry, this is not a bug. It is an issue with the low Video RAM of my video
card. When reading:

http://cube.wikispaces.com/Performance+Guide

And resizing the textures the performace boosted.
Now it seems so have around 15 FPS in large maps.

I still get the game warning:
nosupport for occlusion query, so large maps maybe SLOW.

But this is not related to this issue.

Sorry and at least I hope this will help at least as documentation.

Thanks,
Juan
Comment 3 Adam Jackson 2009-08-24 12:25:31 UTC
Mass version move, cvs -> git


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.