Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
invictius

Is high vram use normal for opengl-based source ports?

Recommended Posts

I had 500mb usage at 1080p just on tnt levels - this seems to be fairly high, considering early versions of gzdoom came out when video cards topped out at 256mb vram.  Interestingly lowering the resolution didn't lower the vram use.  Also, what raises vram use?  A lot of complex architecture onscreen at the same time, such as in The Given?  Lots of monsters?

Share this post


Link to post

How are you measuring this? Remember you can't just look at how much vram is in use, as this by itself includes all resources including the DWM.

 

VRAM usage accounts for buffers, shared buffer objects (such as vertex pools) and textures. Complex geometry can increase this but not by any notable degree for Doom maps. Onscreen elements usually don't factor into this.

Share this post


Link to post

Time hasn't stood still. Back in the old days there were no vertex buffers, you had to submit each draw call through immediate instructions.

Then vertex buffers appeared and since they were faster they became the preferred means to handle geometry data. So the first megabytes went.

One of the next things that became common was rendering to an offscreen framebuffer so you can run some postprocessing on it - even if it is just simple stuff like app-side gamma correction. To have maximum fidelity these buffers tend to use floating point pixel data. Here the next big chunk of VRAM goes away.

 

It is also unclear if you checked VRAM use of just one app or for the system globally. Like Edward said, Windows itself also needs VRAM buffers to draw its screen, so if it is a system-wide metric, it adds more to the number - even more if you got multiple monitors.

 

If you then consider the possibility of GPUs managing their data differently so that they trade a bit of VRAM use for more performance, 512 MB does not sound this unreasonable.

 

Game-side data like textures is small by comparison. Take a single 128x128 texture. It is 16384 pixels, i.e. 65536 bytes in RGBA format - which with mipmaps being added is roughly 85 kb. You need hundreds of them to get any significant VRAM consumption from texture data.

 

Share this post


Link to post
15 hours ago, Edward850 said:

How are you measuring this? Remember you can't just look at how much vram is in use, as this by itself includes all resources including the DWM.

 

VRAM usage accounts for buffers, shared buffer objects (such as vertex pools) and textures. Complex geometry can increase this but not by any notable degree for Doom maps. Onscreen elements usually don't factor into this.

Msi afterburner, the only real tool for this and things like average framerate and 1% lows etc.  It shows total vram use and process use.

Share this post


Link to post

Here's some number that may interest you:

 

Current GZDoom uses 0.5 GB on my Geforce 1060 when playing E1M1.

GZDoom 3.0.0 uses 0.3 GB on the same map.

GZDoom 1.9.0 starts with 0.3 GB, then gradually moves up to 2 GB, back to 0.3 GB, rinse and repeat. Which is a strong indicator that the OpenGL 2.0 driver performs lazy memoy management.

 

There's no way to draw any conclusions for older hardware from that, though. The 0.2 GB for modern GZDoom don't come as a surprise, though - these are the two offscreen framebuffers that need to get allocated plus all their associated data.

 

Share this post


Link to post
20 minutes ago, Graf Zahl said:

Here's some number that may interest you:

 

Current GZDoom uses 0.5 GB on my Geforce 1060 when playing E1M1.

GZDoom 3.0.0 uses 0.3 GB on the same map.

GZDoom 1.9.0 starts with 0.3 GB, then gradually moves up to 2 GB, back to 0.3 GB, rinse and repeat. Which is a strong indicator that the OpenGL 2.0 driver performs lazy memoy management.

 

There's no way to draw any conclusions for older hardware from that, though. The 0.2 GB for modern GZDoom don't come as a surprise, though - these are the two offscreen framebuffers that need to get allocated plus all their associated data.

 

0.5gb was about the usage on one of the recent wads I played (Don't remember it but in last years' cacowards) and even when I turned on all the bells and whistles in rendering options (including  that option that warns it will use 9x vram) I was using maybe 1.5gb at most.  I tried an invasion/slaughterfest map with all 3d models, probably 100 or so onscreen, and framerate didn't drop below about 90 (rtx 3070, 5600x).  I'm yet to play that part of frozen time on it, but that was almost ok on my 4690k and 1070 (All examples at 4k)

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×