[GZDoom] Shadowmaps - how resource hungry are they?
- Graf Zahl
- Lead GZDoom+Raze Developer
- Posts: 49067
- Joined: Sat Jul 19, 2003 10:19 am
- Location: Germany
Re: [GZDoom] Shadowmaps - how resource hungry are they?
Yup. And Waterlab is nearly perfect for this because it goes way overboard with lighting and also serves as a good test not only for lightmap generation but also for lightmap processing.
But seeing the results on by Geforce 550Ti I don't think there's much of a point even considering the feature on pre-GL4 hardware. It's just way too slow.
But seeing the results on by Geforce 550Ti I don't think there's much of a point even considering the feature on pre-GL4 hardware. It's just way too slow.
Re: [GZDoom] Shadowmaps - how resource hungry are they?
FWiW, here's a few stat shadowmap printouts using today's build and Waterlab on my GTX1080 I don't know how much difference it makes but I was mostly just messing around in the starting room. I did wander into other parts of the map but didn't see any huge changes in these values.
Re: [GZDoom] Shadowmaps - how resource hungry are they?
That's most likely the shadowmap sampling done in main.fp. It might still be possible to optimize that part a bit.Graf Zahl wrote:Here's another caveat, though: On my hardware, just enabling the shadowmap pass adds another 5ms to the render time, aside from what the stat display says
@Enjay: If those numbers could be lowered then the shadowmap resolution could be increased on lower end cards. But the problem is that we don't know what lights are visible in the scene at the start of a frame, so right now it grabs all the lights in the map. In Waterlab that's an amazing 1450 lights.
About Waterlab in general, it uses so many lights that I can't really play that map on my 980 at 4K at 60 fps, even with the shadowmaps off. I have to disable everything else (MSAA, SSAO, bloom, etc.) to get it to meet the deadline. I guess that's what happens when the modder has a 1080 card.
Re: [GZDoom] Shadowmaps - how resource hungry are they?
Ooops
I lit the map using a method that I have done before in unreleased maps. Basically, I pick a light that I think works well for a particular texture or flat and then search the map for all instances of the texture/flat and place a light for it. Rinse and repeat for different textures that look like a light source.
I realise that what I've done be done quite a bit more efficiently - like using one big light on some textures where multiple small ones have been used (and I have done that in a few places). I guess with Waterlab things just ended up with more lights than normal. However, it doesn't really cause my system any problems so I figured it was OK. Like you said "I guess that's what happens when the modder has a 1080 card". I'll have to see what will happen on other systems I have access to, though they're not currently set up with a new copy of GZDoom.
I lit the map using a method that I have done before in unreleased maps. Basically, I pick a light that I think works well for a particular texture or flat and then search the map for all instances of the texture/flat and place a light for it. Rinse and repeat for different textures that look like a light source.
I realise that what I've done be done quite a bit more efficiently - like using one big light on some textures where multiple small ones have been used (and I have done that in a few places). I guess with Waterlab things just ended up with more lights than normal. However, it doesn't really cause my system any problems so I figured it was OK. Like you said "I guess that's what happens when the modder has a 1080 card". I'll have to see what will happen on other systems I have access to, though they're not currently set up with a new copy of GZDoom.
- Graf Zahl
- Lead GZDoom+Raze Developer
- Posts: 49067
- Joined: Sat Jul 19, 2003 10:19 am
- Location: Germany
Re: [GZDoom] Shadowmaps - how resource hungry are they?
I also didn't experience more serious issues, just the second room inside the building experienced a bit of a slowdown because there were quite a bit of lights in there. Of course with the shadowmapping things look a bit different...
Well, this map will serve as a good case for stress-testing dynamic lighting, just like Frozen time is great for stress-testing the actual renderer.
@Enjay: What do you get when activating 'stat gpu''?
Well, this map will serve as a good case for stress-testing dynamic lighting, just like Frozen time is great for stress-testing the actual renderer.
@Enjay: What do you get when activating 'stat gpu''?
Re: [GZDoom] Shadowmaps - how resource hungry are they?
The thing to remember about having a 1080 is that this card is literally almost twice as fast mine, the 980. And we just saw how much faster my card was compared to what Graf has, which is what the most low end players probably got. With your card I'd probably never noticed the problem because it would always be way above 60 fps, even with 4k + ssao + shadowmaps.
@Graf: What resolution are you playing at? Since I'm playing at 4K, if I dropped down to 1920x1080 instead I'd get 4 times better performance, which would make it run completely smooth.
@Graf: What resolution are you playing at? Since I'm playing at 4K, if I dropped down to 1920x1080 instead I'd get 4 times better performance, which would make it run completely smooth.
Re: [GZDoom] Shadowmaps - how resource hungry are they?
Graf Zahl wrote:@Enjay: What do you get when activating 'stat gpu''?
Out of interest, I just gave things a go on a machine that we have intended purely for "Word, emails and internet". It did better than I expected, especially as I was running GZDoom off a USB hard drive:
Code: Select all
CPU speed: 3598 MHz
CPU Vendor ID: GenuineIntel
Name: Intel(R) Core(TM) i3-4160 CPU @ 3.60GHz
Family 6, Model 60, Stepping 3
Features: SSE2 SSE3 SSSE3 SSE4.1 SSE4.2
Not sure why the number of lights is so much lower?
I played for a few minutes and wandered around most of the map. I was typically getting between 30 and 40 fps.
Ooops, forgot to switch on SSAO
Right, on high...
That also dropped my fps to about 18-20
Turning SSAO to low only increased that by a couple of fps (but I know that FPS isn't particularly useful to devs).
- Graf Zahl
- Lead GZDoom+Raze Developer
- Posts: 49067
- Joined: Sat Jul 19, 2003 10:19 am
- Location: Germany
Re: [GZDoom] Shadowmaps - how resource hungry are they?
dpJudas wrote: @Graf: What resolution are you playing at? Since I'm playing at 4K, if I dropped down to 1920x1080 instead I'd get 4 times better performance, which would make it run completely smooth.
I use 1920x1080. So yes, with a modern high end card, obviously no problem but I think the entire feature will be DOA on any system with a 'This card should be good enough to play Doom' low-end graphics card.
@Enjay: That HD4400 is not really a bad chipset. Intel is roughly comparable with a low end graphics card, which these values seem to confirm. And modern low end hardware is really sufficient unless you try to max out the shader performance.
Re: [GZDoom] Shadowmaps - how resource hungry are they?
I agree that the numbers requires shadowmaps to default to off for the time being. Especially the fact that the Intel GPU spent 5.5ms on the shadowmap generation just completely dooms it for low end.
Pretty cool that the 1080 does the SSAO pass in less than a millisecond - I want that card!
Pretty cool that the 1080 does the SSAO pass in less than a millisecond - I want that card!
- Graf Zahl
- Lead GZDoom+Raze Developer
- Posts: 49067
- Joined: Sat Jul 19, 2003 10:19 am
- Location: Germany
Re: [GZDoom] Shadowmaps - how resource hungry are they?
Me, too. (But first I want the money I need to afford it... )
Re: [GZDoom] Shadowmaps - how resource hungry are they?
Just to dive in at the other end of the scale then, I tried an HP notebook that only just has enough HD space to hold the OS and which we use only for playing music (wired up to a bigger stereo system). I can't seem to find anything about its GPU other than "Intel(R) HD graphics running at 1366x768". It has very few options. If I click the "Advanced" tab in the display options, I simply get told that the card doesn't have any.
[edit] I think it's an HP Stream Notebook PC 11 running Windows 10[/edit]
Anyway...
I assume that all the 0s in the shadowmap line simply means they aren't supported? They were activated. Dynamic lights were also active and visible.
Interestingly (to me) SSAO was on "Low" when I took that shot. I was only getting about 5-6 fps. When I turned SSAO off, it went up to a quite playable 55-60 fps.
[edit] I think it's an HP Stream Notebook PC 11 running Windows 10[/edit]
Anyway...
Code: Select all
CPU speed: 2167 MHz
CPU Vendor ID: GenuineIntel
Name: Intel(R) Celeron(R) CPU N2840 @ 2.16GHz
Family 6, Model 55, Stepping 8
Features: SSE2 SSE3 SSSE3 SSE4.1 SSE4.2
I assume that all the 0s in the shadowmap line simply means they aren't supported? They were activated. Dynamic lights were also active and visible.
Interestingly (to me) SSAO was on "Low" when I took that shot. I was only getting about 5-6 fps. When I turned SSAO off, it went up to a quite playable 55-60 fps.
Re: [GZDoom] Shadowmaps - how resource hungry are they?
Yes, it writes zero for the shadowmap because it requires an OpenGL version with storage buffers. Same reason why the shadowmap pass didn't appear in the GPU stats at all. Your 1080 is "only" 27.8 times faster than that old notebook.
- PlayerLin
- Posts: 581
- Joined: Sun Nov 11, 2007 4:20 am
- Graphics Processor: nVidia with Vulkan support
- Location: XinZhuang, XinBei/New Taipei City(Former Taipei County), Taiwan.
- Contact:
Re: [GZDoom] Shadowmaps - how resource hungry are they?
Code: Select all
CPU speed: 3192 MHz
CPU Vendor ID: GenuineIntel
Name: Intel(R) Core(TM) i5-6500 CPU @ 3.20GHz
Family 6, Model 94, Stepping 3
Features: MMX SSE SSE2 SSE3 SSSE3 SSE4.1 SSE4.2
@ 1920x1080
My graphic card is 1060(MSI GAMING 6GB).
shadowmap is about 0.70ms at max, most of time is 0.3x~0.5x ms.
SSAO time is about 0.97(starting position) to ~1.6 ms(when heat-fighting with lot of monsters on indoor area), it may not as good as 1080 but just enough I guess.
- Kappes Buur
-
- Posts: 4120
- Joined: Thu Jul 17, 2003 12:19 am
- Graphics Processor: nVidia (Legacy GZDoom)
- Location: British Columbia, Canada
- Contact:
Re: [GZDoom] Shadowmaps - how resource hungry are they?
I have set gl_light_shadowmap=true and loaded Waterlab.
Is there a special benchmarking command for shadowmapping?
GZDoom versions up to and including GZDoom 3.2pre-6 write a file benchmarks.txt when I type bench at the command line,
but show no shadowmapping particulars.
A peculiar thing is that bench is bound to / as default in the ini file, but pressing / does not write a benchmarks.txt.
Video card: NVIDIA GeForce GTX 660
Is there a special benchmarking command for shadowmapping?
GZDoom versions up to and including GZDoom 3.2pre-6 write a file benchmarks.txt when I type bench at the command line,
but show no shadowmapping particulars.
A peculiar thing is that bench is bound to / as default in the ini file, but pressing / does not write a benchmarks.txt.
Video card: NVIDIA GeForce GTX 660
- Graf Zahl
- Lead GZDoom+Raze Developer
- Posts: 49067
- Joined: Sat Jul 19, 2003 10:19 am
- Location: Germany
Re: [GZDoom] Shadowmaps - how resource hungry are they?
No tool, you have to issue 'stat gpu' at the console to get the timing.