From: Roland S. <rsc...@hi...> - 2006-09-04 00:31:38
|
re2823@Safe-mail.net wrote: > Hi. > > According to my /var/log/Xorg.log, 8844 kB of Videoram is needed for 3D at a > resolution of 1400x1050 at 16 bpp. My IBM Thinkpad T21 has an onboard "S3 Inc. > 86C270-294 Savage/IX-MV" which only contains 8192kB of video ram, so I can't > get 3D at this resolution/colour-depth. MS Windows 2000, however, seems to > handle direct rendering OK at this setting (in fact, I even get the option to > run at 24-bit colour). > > Is the larger memory requirement a by-product of Xorg's DRI implementation, or > is there something I can do (as an end-user) to reduce the memory requirement? > Apologies if this mail seems like I'm trolling - it's just an honest question. You could say it's a by-product of the xorg dri implementation. The problem is, at this resolution and bit depth, your framebuffer is already 3MB. For 3d, you also need (for "common" 3d apps at least) a z-buffer and a back buffer, which gets you the 9MB requirement (if z-buffer is 16bit too). You don't need any space for textures at least, as these can be read from agp memory. There are basically two things a driver can do against those memory requirement. 1) Depending on the chip, it may be possible to put backbuffer (maybe even depth buffer) into apg memory instead of local video ram. Not sure if the savage you got could do that (if in windows you can actually run 3d apps at the full 1400x1050 screen resolution then it can probably do it). Even if the chip could do it there would probably be a performance penalty for doing so. 2) Don't allocate unified full-resolution back/depth buffers. If your 3d app only renders in a 640x480 window you don't really need the full resolution back/depth buffer. You could either allocate per-application back/depth buffers or do even some advanced schemes like unified back/depth buffers but only as large as currently needed. I think there is some work in this area, but currently the savage driver is not the only one suffering from the full-resolution static back/depth buffer allocation problem, there are for instance quite some mobility radeons which share the same fate (non-mobility usually have more local video ram). Roland |