Page 9 of 24

Re: [Survey] How many of you CANNOT run GZDoom's OpenGL rend

Posted: Sat Apr 26, 2014 11:16 am
by leileilol
Just modularize the thing if the sacrifice for vertex buffers is that dramatically costly of a user base. It still won't stop the CPU chokage on actors.

Also test for compliance in Mesa3D's software rasterizer. I know I did when I tried getting real paletted texturing to work in my port. I hate that slow thing, but if there's one thing useful about it, it's for that.


Also whatever Gzdoom revision Zandronum used on their last release, it works on a 3dfx Voodoo2 via MesaFX with playable performance on a Pentium II, so there's that. The only problem was the sky and some small instances of texture thrashing.

Re: [Survey] How many of you CANNOT run GZDoom's OpenGL rend

Posted: Sat Apr 26, 2014 12:04 pm
by Graf Zahl
leileilol wrote:Just...

Behold, there's the Evil Word again...

Re: [Survey] How many of you CANNOT run GZDoom's OpenGL rend

Posted: Sat Apr 26, 2014 9:23 pm
by Csonicgo
Graf Zahl wrote:
leileilol wrote:Just...

Behold, there's the Evil Word again...
You don't know your own renderer? Bummer, man.

Re: [Survey] How many of you CANNOT run GZDoom's OpenGL rend

Posted: Sat Apr 26, 2014 11:03 pm
by Siberian Tiger
Csonicgo wrote:You don't know your own renderer? Bummer, man.
I don't think that is what Graf Zahl was hinting about....

Re: [Survey] How many of you CANNOT run GZDoom's OpenGL rend

Posted: Sun Apr 27, 2014 12:05 pm
by Ghastly
Csonicgo wrote:
Graf Zahl wrote:Behold, there's the Evil Word again...
You don't know your own renderer? Bummer, man.
No, his problem is with the word "just." When people say "just do something like this," it implies it's the most obvious, easiest solution, usually without knowing how much effort that suggestion would take and/or without knowing if the solution would actually work.

For example, I was working on getting the Swarm Launcher's missiles homing in on the tracer projectile, a friend of mine (mechanical engineering student with almost no programming background) asked me what I was working on, then asked what the problem was. After I explained, he said "just make the tracer projectile drop a bunch of invisible monsters in a line that don't move, and have the missiles home in on those." That's just one example, and most of the time I see it in Feature Suggestions when someone gives a solution to a problem that flat out won't work, like "Just use A_RadiusGive to give an item that the monster checks for and etc. etc."

Re: [Survey] How many of you CANNOT run GZDoom's OpenGL rend

Posted: Sun Apr 27, 2014 1:42 pm
by Enjay
"Just" is, without question, the most evil word on these boards. :P

While I'm not qualified to comment on the particular suggestion that leileilol made (leilei is well versed in such things and I am not), as a general rule, when the word "just" is used, as often as not, it turns out that the "solution" is anything but something that you could "just" do. In fact, it's often a boat-load of work and may actually be an inappropriate "solution" that doesn't actually solve the problem anyway.

Graf, and plenty of others, have often been told to "just" do something and very often, there is no "just" about it. So, sensitivity to the word is quite justified. No pun intended. :P

Re: [Survey] How many of you CANNOT run GZDoom's OpenGL rend

Posted: Sun Apr 27, 2014 3:02 pm
by Ghastly
Enjay wrote:So, sensitivity to the word is quite justified. No pun intended. :P
You're a horrible person. :P

Re: [Survey] How many of you CANNOT run GZDoom's OpenGL rend

Posted: Mon Apr 28, 2014 3:52 am
by LostSkull
Image

Re: [Survey] How many of you CANNOT run GZDoom's OpenGL rend

Posted: Mon Apr 28, 2014 4:31 pm
by leileilol
Avoiding the whole modularizing suggestion with a little ad hominem over one word I see. Of course it's an obvious solution for preserving support. Do you have a better idea, other than wishing for a nasty Nvidia monopoly?

Re: [Survey] How many of you CANNOT run GZDoom's OpenGL rend

Posted: Mon Apr 28, 2014 5:16 pm
by Graf Zahl
leileilol wrote:Avoiding the whole modularizing suggestion with a little ad hominem over one word I see. Of course it's an obvious solution for preserving support. Do you have a better idea, other than wishing for a nasty Nvidia monopoly?

If it was *just* that easy...

The renderer is a very complex piece of code that can't *just* be modularized and upgraded. As for NVidia vs. AMD, right now it's *just* some really old piece of immediate mode code. It has to make countless workarounds due to the shortcomings of old graphics hardware that bloat the code and make significant parts of the logic non-intuitive because it has to be shoehorned into a design model that's completely different than what I'd really need.

Most of this can be solved on modern hardware but then support for old graphics card from nearly a decade ago will *just* go down the drain.

But hey, you *just* made a suggestion...
If you want to modularize, be my guest, you'll eventually find out that it's *just* not an quick'n easy task...


PS: I don't wish for a 'nasty NVidia monopoly', I wish for AMD and Intel to get their act together and release some decent OpenGL drivers that don't get bogged down by strange bugs (par for course for AMD) or a profound lack of feature support (Hear my words, Intel!)


:twisted:

Re: [Survey] How many of you CANNOT run GZDoom's OpenGL rend

Posted: Sat May 10, 2014 6:45 am
by Graf Zahl
So...

I finally managed to get a test version together that renders all walls and flats with a dynamic vertex buffer.
I ran some tests on my Geforce 550 with Frozen Time (frozent.wad), which is currently one of the more demanding maps, even without dynamic lights and other fancy stuff.

Results: Current GZDoom 1.8.6 requires approx. 24ms to process a frame with vertex buffer for flats on, 26 ms with vertex buffer for flats off.
Using a dynamic vertex buffer it needs 23 ms, so it's a tiny bit faster but not much.
I did some further tests, showing that only 0.5ms of that time are used for issuing draw calls to the driver.
It shows one thing very clearly: It's absolutely pointless at this time to optimize rendering flow. The number of draw calls appears to be mostly irrelevant.

To get an idea of how this works on different hardware I attached a test build to see how this behaves on different hardware.
Please note that this requires OpenGL 4.x and some relatively recent extensions.

If you can get this to work I need the following:

Download Frozen Time: http://www.doomworld.com/idgames/index. ... rozent.zip
Download the test build: http://forum.drdteam.org/viewtopic.php?f=22&t=6305 (For some reason I was unable to attach it to this post.)
Run GZDoom 1.8.4 or later with the savegame from the attachment, once with dynamic lights loaded, once with dynamic lights not loaded, and run the 'bench' command for both with 'vid_vsync' set to 0.
Run the test build from the attachment and repeat the same. Note: The gzdoom.pk3 file is different so best run from a different directory, but with the same zdoom.ini.

Post the output along with your specs.

Re: [Survey] How many of you CANNOT run GZDoom's OpenGL rend

Posted: Sat May 10, 2014 6:49 am
by edward850
You haven't uploaded any saved game. ;)

Re: [Survey] How many of you CANNOT run GZDoom's OpenGL rend

Posted: Sat May 10, 2014 7:08 am
by Graf Zahl
Damn, it was supposed to be in there. Ok, fixing.

Re: [Survey] How many of you CANNOT run GZDoom's OpenGL rend

Posted: Sat May 10, 2014 7:30 am
by edward850
Huh. Not quite what I expected:

Code: Select all

pre584-nolights

Map MAP01: "entryway",
x = 4676.2854, y = 5956.6655, z = 369.0000, angle = 90.3790, pitch = -1.3348
Walls: 14600 (0 splits, 2007 t-splits, 122666 vertices)
Flats: 537 (24549 primitives, 108130 vertices)
Sprites: 708, Decals=0, Portals: 1
W: Render=22.434, Split = 0.000, Setup=6.592, Clip=12.890
F: Render=1.859, Setup=0.300
S: Render=0.484, Setup=2.314
All=64.572, Render=29.969, Setup=32.879, BSP = 10.779, Portal=0.291, Finish=1.596
DLight - Walls: 0 processed, 0 rendered - Flats: 0 processed, 0 rendered
Missing textures: 0 upper, 0 lower, 0.000 ms
16 fps

Code: Select all

pre584-lights

Map MAP01: "entryway",
x = 4676.2854, y = 5956.6655, z = 369.0000, angle = 90.3790, pitch = -1.3348
Walls: 14600 (0 splits, 2007 t-splits, 122666 vertices)
Flats: 537 (24549 primitives, 108130 vertices)
Sprites: 708, Decals=0, Portals: 1
W: Render=23.198, Split = 0.000, Setup=6.432, Clip=12.620
F: Render=4.494, Setup=0.252
S: Render=1.065, Setup=2.465
All=68.669, Render=34.588, Setup=32.626, BSP = 10.854, Portal=0.296, Finish=1.331
DLight - Walls: 2122 processed, 413 rendered - Flats: 7232 processed, 652 rendered
Missing textures: 0 upper, 0 lower, 0.000 ms
13 fps

Code: Select all

testversion-nolights

Map MAP01: "entryway",
x = 4676.2854, y = 5956.6655, z = 369.0000, angle = 90.3790, pitch = -1.3348
Walls: 14600 (0 splits, 2007 t-splits, 197291 vertices)
Flats: 537 (24549 primitives, 108130 vertices)
Sprites: 708, Decals=0, Portals: 1
W: Render=18.002, Split = 0.000, Setup=6.740, Clip=12.821
F: Render=6.029, Setup=0.261
S: Render=0.459, Setup=2.346
All=67.973, Render=29.529, Setup=32.731, BSP = 10.561, Portal=0.162, Finish=5.593
DLight - Walls: 0 processed, 0 rendered - Flats: 0 processed, 0 rendered
Missing textures: 0 upper, 0 lower, 0.000 ms
15 fps

Code: Select all

testversion-lights

Map MAP01: "entryway",
x = 4676.2854, y = 5956.6655, z = 369.0000, angle = 90.3790, pitch = -1.3348
Walls: 14600 (0 splits, 2007 t-splits, 197291 vertices)
Flats: 537 (24549 primitives, 108130 vertices)
Sprites: 708, Decals=0, Portals: 1
W: Render=19.264, Split = 0.000, Setup=6.635, Clip=12.504
F: Render=6.536, Setup=0.267
S: Render=0.784, Setup=2.307
All=68.110, Render=31.663, Setup=32.129, BSP = 10.413, Portal=0.164, Finish=4.198
DLight - Walls: 2142 processed, 0 rendered - Flats: 659 processed, 0 rendered
Missing textures: 0 upper, 0 lower, 0.000 ms
13 fps
Spoiler: You want specs? Here, have all the specs.

Re: [Survey] How many of you CANNOT run GZDoom's OpenGL rend

Posted: Sat May 10, 2014 7:50 am
by Graf Zahl
Well, to be honest, it perfectly matches my own results, just with a CPU only 1/3 as fast. The result for the increase in flat rendering time is that this test version has to disable the static vertex buffer which is being used in the official build. (That's why it's merely a test version.)

The increase of the finish time is just another effect of this. It seems with a CPU as slow as yours the graphics card is hanging idle for most of the time.

So what CPU do you use anyway?