all that r_speeds gives you... & f***ing fog (new pic)


(]UBC[ McNite) #1

Hm i guess i didn’t search right or didn’t have the lucky finger… can anybody plz tell me what the things mean that you get when you use r_speeds?

I get:
484/1772 shaders/surfs
283 leafs
24223 verts
19291/21244 tris
4.36 ntex
0.00 dc

What I think I know so far is:
leafs = the blocks the space around the structural brushes gets “cut” into during he compile process
tris = the triangles surfaces are made of (i only wonder why there are 2 numbers)

So why I m curious about this is that I m trying to improve a map to get reasonable FPS, and I m not sure whether getting less leafs or getting less tris is better… and whether its possible to improve the verts.

Running around the map and looking at the values shows that there is not really a correspondence between shaders/surfs, verts and tris. (There can’t be any between leafs and tris because even big leafs might not contain many tris, and small leafs can contain a lot…). And it seems like there is another variable(s) that influence the FPS, doesnt look like u can just multiply all the values (or mash then into 1 value another way).

I also get the impression that I could improve tris by cutting up drawsurfs, but well… if a big part of terrain has the same shader… how can I possibly use another shader in it to cut up the drawsurf?

Thx for your help!

edit: of course thore is right… i meant r_speeds and not showtris, and of course I m using showtris 2 when checking the effectiveness of VIS-blocking… i guess I shouldnt post here at 4am my time lol


(thore) #2

I bet you won’t get this infos when using “r_showtris 1”… since showtris shows you the triangle faces (1= visible 2=all).
The command you’re talking about is probable “r_speeds”. (Me luuuuuurves nit-picking :D)

Okay, since I don’t know whether or not you already looked up simland/ldr/console commands I’ll quote it here:

/r_speeds
The r_speeds cvar displays rendering information which can be helpful in determining what may be having an effect on fps. The default value is 0 which will not display the r_speeds.

r_speeds 1 displays the following information:

xxx/xxx shaders/surfs
xx leafs
xxxxx verts
xxxxx/xxxxx tris
x.xx mtex
x.xx dc

The renderer batches up drawsurfaces (map drawsurfaces, such as terrain chunks, walls, floors, model sections; model surfaces like players and weapons, and effect surfaces) into a large array before doing render passes. The “shaders” value is actually how many batches there are. Each batch can require one or more rendering pass. For example, weapon shaders often require two: a diffuse/texture pass to add details and an environment pass to make them shiny.

The “surfs” value indicates the number of drawsurfaces visible.

The “leafs” value indicates the number of BSP leafs that are visible in the scene. A leaf is the final, smallest BSP node which contains actual renderable data.

The most important value, “verts” shows the number of vertexes batched up to be rendered in the shader/batches to be calculated, transformed, lit etc. Ideally, the verts count should be as close to 1024 x the shaders (batches) count. Realistically, it will be difficult to achieve this target due to the amount of unique shader effects that only get rendered once.

The number of triangles visible in the scene is indicated by the “tris” value. Ideally the ratio of tris to verts should be as high as possible since you want to maximize the number of tris compared to the number of verts.

I assume the two numbers at “tris” work similar to “showtris 1 or 2” and show you
the visible tris and total tris count.

Does this help you?

~Greetings


(EB) #3

more information here:
http://www.qeradiant.com/manual/Q3Rad_Manual/ch12/pg12_1.htm <<about half way down the page
http://www.wolfensteinx.com/surface/tutorials/r_speeds.html


(]UBC[ McNite) #4

Thx for the literature guys :smiley: had a good reading. Now I know what the things are, but i m still stuck.

First: I m sure I could improve in the leafs-department by setting blocksize to 0 and making all leafs myself with hints. That would at least remove a lot of leafs that come from the horizontal cut at 1024 and 2048 (my blocksize is 1024x1024), because in wide areas of the map I m using horizontal hints for some nicely effective VIS-optimizing. Only those leafs are mostly empty or contain some sky… so am I right that woulndt improve much with regard to game performance?

Then… ok i read verts (= vertexes) are the most important thing with regard to game performance. Am I right that those vertexes are the same I edit with Vertex-Editing… which means they are teh corner-points of the brushes? If so… how on earth can I optimize them? I mean… that s only possible by using less brushwork or using simple brushes and not complex ones… :eek:

Plz correct me if I m wrong


(Ifurita) #5

No. Take a look at my t-junctions tutorial with example map. Remember, the compiler splits your brushwork into a series of triangles to eliminate t-junctions. You can get quite a lift by reducing t-junctions as much as possible

http://splashdamage.com/index.php?name=pnPHPbb2&file=viewtopic&t=11948&highlight=tjunctions

I think that will help


(]UBC[ McNite) #6

Thx If, i m already taking care a lot about that… i mean… if you use showtris you cant help it but find out about t-junctions and teh LOT of additional tris they can produce and start minimizing them imo.


(FireFly) #7

That would at least remove a lot of leafs that come from the horizontal cut at 1024 and 2048 (my blocksize is 1024x1024), … Only those leafs are mostly empty or contain some sky…

you can also use _blocksize in the z-position.So instead of using a _blocksize of 1024 1024 in your worldspawn, you could have a _blocsize of 1024 1024 2048

This will undoubtly decrease the number of nodes in your map.


(]UBC[ McNite) #8

Thx firefly… didnt know about that one. I guess i m restricted to 1024, 2048 etc. though? Well i ll see…

Now 2 pics… the 2nd one was taken after I deleted Detoenis Truck in the middle of the map (which almost broke my heart) and I had done some simplification in brushwork… which means I got rid of a lot of things that looked good.

Here is pic 1 (before):

Here is pic 2 (after):

As you can see, there s a noticeable improvement in verts (-3.300) and tris (-3.250) … and it increases the framerate only by 2? WTF… I m going to need an empty box to get 40 FPS :banghead:

I m really starting to freak out about his **** fog… it makes the FPS drop by 15-25 while there s only half of the verts and tris in the r_speeds…


(Loffy) #9

I would try to toss away some of the trees, just to check if the fps will increase.
Usually I try to keep my verts below 30000, so your verts are much lower than mine. But 26-28 fps, that is a mystery to me. Try to remove some trees.
Good luck.
//L.


(Ifurita) #10

To one of detoeni’s points in another thread, vert/tris count is a factor, but it’s also possible that each vert is being drawn multiple times because of fog or whatever.


(SCDS_reyalP) #11

Use the portal viewer to understand where / why the leafs exist. Note that having very big leafs with a lot of geometry in them tends to be a bad thing. Rendered triangles aren’t the only thing that can cause poor FPS.

Use r_showtris 2 and r_wolffog 0 to see if there’s things being drawn which shouldn’t be. When you find problem areas, go back to the portal viewer and figure out why.


(EB) #12

can you take a pic of the map ‘in-editor’ WITH the .prt loaded in the 3d view ?

same position above the wires would be fine.


(SCDS_reyalP) #13

BTW, if you are using autoclipping on any complex models, that can cause FPS problems too.


(]UBC[ McNite) #14

Thx for the suggestions guys… I really appreciate your help.

@ reyal: I busied myself a lot with r_showtris 2 already. If you run around in The River II with r_showtris 2 you ll see I use VIS-blocking decently (using both caulk structurals and hints), and its been improved now.
I tried the auto-clipping long time ago but its BS… i clip all models by hand, especially the trucks etc.

I ve never used .prt cuz there s a compile-option in q3map2 that shows u the sides of the leafs in a half-transparent white. Will try to make a .prt-screenie later today.


(]UBC[ McNite) #15

Here we go… another try… not much of a result.
Well i m used to that but its still very strange… first have a look for yourself:

What you can see in the r_speeds is:
leafs: 271-224 = improved by -47 (17%)
verts: no change
tris: no change
FPS: no change too :angry:

What I did: changed blocksize to 1024 1024 4096 and completed a horizontal hint all over the map (there already was a lot of the area roofed with one for VIS-optimizing. That made my VIS stage go nuts…

before:

  1232 portalclusters
  3205 numportals
  3907 numfaces
  6410 active portals
  1056 hint portals
visdatasize:197128

now:

   974 portalclusters
  2375 numportals
  3748 numfaces
  4750 active portals
  1136 hint portals
visdatasize:124680

with the average leafs visible dropping from 283 to 212 :eek:

So what I can say for sure now is: u dont really need to care about the leafs in r_speeds (unless something is VERY wrong) because obviously with fog its the verts and tris that count.
Seems the only way to get better framerate will be to reduce verts and tris by even better VIS-optimizing and of course simplification of brushwork. Which I totally hate… I ll probably need to get rid of all the eye-pleasing stuff I had in The River II :disgust:


(The Wanderer) #16

your r_speeds values seem to be good. The only thing that’s a little high is the number of shaders(455) but i doubt that would cause this kind of fps drop.
Which is why i’m curious as to what system you’re testing this with. Maybe it’s your computer that is the problem.
I can get around 90fps even on maps with double your r_speeds and my computer is crap. Have you tried testing this on different computers?
Also at this point i wouldn’t bother trying to reduce leafs, tris and so on. Like i said, your r_speeds are good, and it’s clear that the problem is something else.


(]UBC[ McNite) #17

Here come my system specifications:
AMD Athlon 3.000 64bit
ABIT Board (dunno which… was the expensive version for that CPU)
2x256 mb RAM @ 400MHz, Dual Channel
80GB Seagate HDD
HIS iceq x800 Radeon with 256mb DDR (about 14 months old)

I don’t think that s a bad system. Probably my radeon drivers suck, or its the fact that I divided the 80GB into 6 partitions (but none of them is more n 50% full)

Wanderer, which FPS do you get on the map The River II on that spot? Its without fog, but i d like to know, and can u plz post your comp specs as well for a comparison?

The config used for the tests is the standard config of ET btw.

edit:
Just downloaded and installed the latest catalyst (5.7), which didnt help the FPS at all. So its no gfx-card driver problem i guess.


(CooperHawkes) #18

with an X800 you should have 100+ FPS for this little number of vertices… and fill rate usually isn’t the limiting factor with ati cards neither…
are you sure your AGP bus is working at full speed?


(The Wanderer) #19

The lowest fps i get on the river 2 is around 80. But that’s only on certain spots where everything is visible and while on spectator.
I’m not even sure if the player can get on those spots. Average fps though is well above 100(around 150).
That’s on a p4 2.6GHz with a FX5900, 1GB ram at 1024x768 with all other game video settings maxed.

I really don’t know what’s causing your performance drop. With that system at those r_speeds you should be at 200fps.
Below is a screenshot for comparison. The r_speeds are double yours and i’m still at 80fps.


(FireFly) #20

that is strange?: the latest screen you posted shows: 15740/16376 tris , wich isn’t really that high.
still your fps is only 28… Your fps should be much, much higher with that amount of tris…

AMD Athlon 3.000 64bit
2x256 mb RAM @ 400MHz, Dual Channel

These specs are similar to mine: I also have a AMD Athlon 3000 64 bit and 1X512 mb Ram (400 MHZ)

I just did some tests in my own map and 16000 tris gives me (aprox) 60 fps.
I am aware that the amount of textures visible and leaf-nodes can reduce your fps, but still 28 fps is very low…