Jump to content
  • Advertisement
Sign in to follow this  
ecspansion

How do you determine memory usage of a display list?

This topic is 3723 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hello all, I've been lurking on this forum for a while now getting answers when questions come up, however, I can't seem to find the answer to my posted question - how do you find the memory footprint of a display list? Is there a way to do it in your code & print it out? Are there external tools if there's no clear way of getting that info via source? For the record, I develop for/on Linux & I don't have admin privileges here at work. This means I can't install nvperf or any other utility that would mean I would have to install a new graphics driver. I know of the existence of gDEBugger & am working on getting that installed, though I don't know if that will help. (not that any of that has to do with OGL) I have found a couple ways of viewing application memory usage on Linux, namely pmap and top, though there's no clear way of determining what memory is on the graphics card vs system. (again, not OGL related, but the steps I've taken thus far). If it matters, I'm using an Nvidia GeForce 8600 GTS card running on a Debian 4.0 system.

Share this post


Link to post
Share on other sites
Advertisement
No, GL doesn't offer any function for that.
Since display lists can containt a wide range of commands like glBindTexture, glTranslate, and so on, the GL driver is very complex.
It needs to keep track of that stuff in RAM.
Things that are geometry, it can generate VBOs for them but in reality, there is no way to know what happens under the hood.

Share this post


Link to post
Share on other sites
Quote:
Original post by V-man
No, GL doesn't offer any function for that.
Since display lists can containt a wide range of commands like glBindTexture, glTranslate, and so on, the GL driver is very complex.
It needs to keep track of that stuff in RAM.
Things that are geometry, it can generate VBOs for them but in reality, there is no way to know what happens under the hood.


interesting. thanks for the response.

So what do people do to ensure they don't store too much data in the video card RAM & the bit of shared memory the BIOS gives video? Keep track on the way in or just don't worry about it?

For the record, I'm trying to cache data that's read off disk. The super easy way to do that would be to make a display list for every file so that when you need to access a file, there's already a display list for it (rather than reading the ascii file, parsing it, then displaying it). I wanted to check memory size to ensure I don't try to store too much data (conceivably, there could be thousands of files, each containing tens of thousands of vertices).

I think I'm going to just use main memory to do this & not use multiple display lists, but the multiple display list idea sure sounds nice.

Share this post


Link to post
Share on other sites
You need to query the OS since VRAM is a system specific concept. I don't know about Linux but on Windows, with DirectDraw you can get the amount of video RAM and AGP memory.
If you are just going to cache stuff then it is no problem since the extra stuff will be kept in AGP memory or RAM.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

Participate in the game development conversation and more when you create an account on GameDev.net!

Sign me up!