From: Stephen H. <sho...@ho...> - 2000-08-30 20:06:15
|
>> >> The size of the app (under FreeBSD, matrox G400, 16 bits) jumps from 42MB to >> 200MB. Is this expected? > >glXChooseVisual() is implemented solely in terms of XGetVisualInfo() and >glXGetConfig(). The first call to glXGetConfig() will initialize the >client-side GLX library and do some initial DRI setup. > >Later, when a context is actually created, a DRI hardware driver may >map some memory regions which will cause the virtual size of the process >to jump. But that's just the virtual size, not physical size. > >How exactly did you determine that this function is at fault? >What happens with LIBGL_ALWAYS_INDIRECT set? The simple way - step through with a debugger and look at the size of the process. I also trussed it and found out that a bunch of mmaps are happening like you said. I beleive that the region these mmaps are placed within the process's address space is interfering with the heap, causing my malloc failures. I think there's some linker magic I can use to avoid this. Stephen -- The views expressed above are not those of PGS Tensor. "We've heard that a million monkeys at a million keyboards could produce the Complete Works of Shakespeare; now, thanks to the Internet, we know this is not true." Robert Wilensky, University of California |
From: Stephen H. <sho...@ho...> - 2000-08-30 20:41:31
|
Another datapoint - the app I was seeing these problems on was a native compilation of Quake1 (quakeforge, hosted at sourceforge). However, under Linux emulation (tweaked to allow the DRI ioctls) Quake3 Arena works fine. Stephen -- The views expressed above are not those of PGS Tensor. "We've heard that a million monkeys at a million keyboards could produce the Complete Works of Shakespeare; now, thanks to the Internet, we know this is not true." Robert Wilensky, University of California |