Go Back   nV News Forums > Linux Support Forums > NVIDIA Linux

Newegg Daily Deals

Thread Tools
Old 06-11-03, 09:48 PM   #1
Registered User
Join Date: Jun 2003
Posts: 2
Default Texture memory, nvidia, and opengl

So I'm working in a embedded like env. I have a nVidia Geforce 4 card
with 128 MB of ram and a linux system with 128 MB of ram. Due to the
"embeded like" env, the linux system does not have a swap file system.
Which would be fine except the nVidia Open GL driver seems to keep 2
copies of each texture I load in memory. One copy in system memory
and one copy in card memory. Meaning I malloc some memory to read in
the texture file from disk, hand it to open gl, then free the memory I
malloc'ed to hold the texture. It seems as if the driver keeps one
copy of the texture in system memory and keeps one in the card memory.

I am working with OpenGL 1.3 drivers on linux from nVidia's web site.
I would like to know if anyone else has seen this problem? And is
there a way to stop this from happening.

To be completely fair, I'm about 70% confidient that this is my
problem, so my description above may be incorrect. But nVidia does
not open source their open GL drivers so without dumping assembler and
reverse engineer the driver, I think my decription above is accurate.

Any help or insite would be greatly appreciated.

dcomes is offline   Reply With Quote
Old 06-12-03, 06:33 AM   #2
Registered User
Join Date: Jun 2003
Posts: 9

I think all openGL drivers would show the same behaviour. In a normal setup, the texture memory on the card is only a cache for most-used textures. As you load textures and draw them, they are cached in texture memory for speed. If the set of textures being used is larger than texture memory, then some textures will have to be swapped in and out of texture memory from main memory.

If you don't keep a copy of every texture in system memory, then when the drivers swap a texture out of texture memory it has to be copied back across the AGP bus, which is *slow*. So the drivers maintain two copies, allowing the texture to be 'swapped' out of texture RAM by just overwriting it and keeping a pointer to the current valid, fastest, copy.

You could possibly use the VAR extension to just use texture memory to store textures, although I've never tried this.
BenjyD is offline   Reply With Quote
Old 06-12-03, 10:53 PM   #3
Registered User
Join Date: Jun 2003
Posts: 2

Can you give me any information on this var extension? Like where I can find info on it?
dcomes is offline   Reply With Quote

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
(Linux) NVIDIA R302.11 OpenGL Extensions List News Archived News Items 0 06-12-12 07:30 AM
OpenGL apps crashing in NVIDIA driver when switching desktop dinosaur NVIDIA Linux 0 06-01-12 07:09 PM
Measuring card memory usage peter_ga NVIDIA Linux 0 05-24-12 08:07 PM
Nvidia 2960 OpenGL too dark? godxzilla NVIDIA Linux 3 09-08-02 09:55 PM
Multiple OpenGL applications and NVidia gbrauer NVIDIA Linux 7 09-01-02 04:47 PM

All times are GMT -5. The time now is 07:54 PM.

Powered by vBulletin® Version 3.7.1
Copyright ©2000 - 2015, Jelsoft Enterprises Ltd.
Copyright 1998 - 2014, nV News.