BEVEL vs NULL vs SKY Created 12 years ago2012-01-25 21:57:08 UTC by Stojke Stojke

Created 12 years ago2012-01-25 21:57:08 UTC by Stojke Stojke

Posted 12 years ago2012-01-25 21:57:08 UTC Post #302956
Hey guys, me and Skals decided to do a little test. Some of you may remember i said in one topic that SKY is as good as / better than BEVEL/NULL.
I heard that from some Russian mappers that are quite good. I also head it fixes some light bugs i have no idea about. Many of those mappers told me i should use it and that it is better than the textures designed to reduce poly and increase performance.
So, we decided to test this mith.
We took Skalses newest map he is making for the newest Compo, the map is quite complex and large, very well made also if i may add :) , and replaced all BEVEL with SKY and all BEVEL with NULL. We compiled to check the resources ussage and performance.

I determined 4 points where i would measure wpoly count, crutial points to say so, and each time on the same spot in 3 maps.
The results were pretty interesting, some numbers were expected, some not.

These are the measurements from 4 different spots:

Bevel / Null / Sky
1336 / 1281 / 1342
896 / 876 / 896
780 / 850 / 800
1160 / 1200 / 1200

We can notice that the numbers are pretty similar, where on the most "laggy" spot in the map, null had a better performance by 55 wpoly.
In other regions null had much more wpoly, but sky and bevel were similar, where bevel was better than all three.

Now you may wonder, Stojke, Y U crazy? Sky is for sky, nothing else, you cant even use it with an entity!
But yes, you are right, but, take a look at these compile results, ive marked some interesting numbers:

First up is BEVEL, texture that removes the face completely, giving us much more performance when it comes to FPS (wpoly) and with Clipnode limit as well, but it can leave nasty bugs where you would fall trough the floor or enter a wall, which can be pretty annoying. Produces a Hall Of Mirrors effect.
User posted image
As we see, the clipnodes are reduced by a large number, as well as Light data and Text data.

--

Next is NULL, a texture that removes the face from rendering to give more performance, but eats up Clip Node limit. It doesnt produce any bugs, and its usefull as a blocking texture. Produces a Hall Of Mirrors effect as well.
User posted image
As we can see here, the clip node number is HUGE! Very bad for a big map, also we can see an increasment in Leaf Data and Text Data. Not a good choice for max performance.

--

And finally, the mysterious sky. Sky, emits light. It also blocks the player/bullets, does not create teh HOM effect, is not visible. You will find the results very interesting.
User posted image
Clip node reduction is even better than with BEVEL! It even reduces Text Data and Light Data! Some numbers are a bit higher, but thats tolerable.
Conclusion?
Sky is equaly good as Bevel and Null when it comes to reducing Wpoly, but it is also better with reducing Clip Nodes. It does not generate HOM effect, it does not generate the BEVEL bug and it also blocks the player and bullets.
Bevel is a bit better when it comes to performance, FPS, and its very good for perserving Clip nodes.
Null is as good as both when it comes to wpoly, but it is very bad when it comes to clip nodes.

This has confirmed that sky acts similar as both textures, even better in some things, a bit worse in other.
All in all, i tihnk this should be tested a bit more, perfected. Combination of both SKY and BEVEL can result in a highly optimised map.

Share your thoughts.
Stojke StojkeUnreal
Posted 12 years ago2012-01-25 22:37:29 UTC Post #302957
Great idea for analysis.

I'd venture that BEVEL could be used in places where the player will never ever get to, so as to save on clipnodes, and NULL/Sky everywhere else to keep clip areas from going crazy.

I'm probably the least knowledgeable in this subject in the whole site though, so I'll leave the following room for others to contradict me:
Posted 12 years ago2012-01-25 22:41:42 UTC Post #302958
Many times I've run out of clipnodes before running out of anything else. Some people around here may notice my habit of clip-brush cropping and extensive use of non-solid brush entities. I wish there was a brush that made everything inside of it non-solid so it can cover scenic parts of the map and not waste perfectly good collision hulls or brush-entities to at least recreate the effect.

Nifty experiment. I'm an avid fan of bevel since someone exampled what it did, don't plan on changing that.
Rimrook RimrookSince 2003
Posted 12 years ago2012-01-25 22:48:51 UTC Post #302961
Wouldn't it be the same if you covered that whole scenic area with a single huge clip block? Player's not getting there anyway...
Posted 12 years ago2012-01-25 22:56:17 UTC Post #302964
How i saw, there are no errors for clip being outside world, so i guess that would work.
Stojke StojkeUnreal
Posted 12 years ago2012-01-26 00:22:13 UTC Post #302967
Excellent article Stojkens!

I will definitely try using sky texture optimization for my next goldsource map :P

Rimmeh: i find using cliptype precise parameter gives me the best clipnode budget to work with, and that's without using bevel at all. (i seem to remember having problems when i tried using bevel, but i can't remember what atm)
Captain Terror Captain Terrorwhen a man loves a woman
Posted 12 years ago2012-01-26 01:08:37 UTC Post #302969
Well, as far as I know a block with the sky texture has to have all sides covered with sky. Has this changed? It's not like these textures are always completely interchangeable, they do have different properties, as you mentioned.

I have read that an over use of sky brushes can cause lower fps even though it wont affect the wpoly. But no good explanation to why. Maybe because the engine has to keep track of the clipnodes they still create (in default mode at least).

Also, this is missing some proof of how you set the test up. I guess you don't wanna show since it's a compo entry. But it would be nice to see how many textures were changed and where they were located.

It's kinda hard to draw any conclusions from those wpoly values. That could also be results from how VIS compiled the map. The amount of visleafs varies in all the compiles.

Good work! I find this very interesting.
Posted 12 years ago2012-01-26 01:45:22 UTC Post #302970
Well, as far as I know a block with the sky texture has to have all sides covered with sky.
nope, but all sides need to be textured 'sky' for the sky brush to emit light, via light_environment.
Captain Terror Captain Terrorwhen a man loves a woman
Posted 12 years ago2012-01-26 08:58:10 UTC Post #302978
Excellent article Stojkens!

I will definitely try using sky texture optimization for my next goldsource map
Thanks T :D

Also, i know for one method i learned. When you build things, and you have, lets say a small building that the player wont every be able to see over, you take it and put SKY onto the top face of it, than you put a sky block on that and stretch it up to the SKY, so it connects to the major SKY block. This way, it should reduce poly count by generating a room effect.
Same principle is present in DE_DUST2 map, where on each arc in the map the mapper added this sky block to make 4 different rooms, that is, 4 different separated rooms in the map. And when you enter each room, you stop rendering the room you left.

If you guys forgotten this, i will do a tutorial gladly.

--
Also, this is missing some proof of how you set the test up. I guess you don't wanna show since it's a compo entry. But it would be nice to see how many textures were changed and where they were located.

It's kinda hard to draw any conclusions from those wpoly values. That could also be results from how VIS compiled the map. The amount of visleafs varies in all the compiles.
Well, the way we did it, is replace BEVEL textures that Skals already used to texture the outer faces of objects in the map, that is, the faces that the player wont see. He already made his map very optimized when it comes to that. So i decided that he gives me the map to perform some tests.
What i did was select the BEVEL textures and replaced them with SKY.
And than select the BEVEL textures again and replace them with NULL.

After which i compiled and compared/checked the final VIS results.
Stojke StojkeUnreal
Posted 12 years ago2012-01-26 19:22:59 UTC Post #302982
One thing I'd like to know, is can I put something like skip or bevel on faces of the clip texture? I have clip blocking several areas in my map, but each is obviously a box with 6 faces, Can i get rid of 5 of those faces somehow possibly saving clip nodes?
Random question but somehow relates.

As for this matter, I think from now on I will use SKY on all the floors in my map, this way I will never get the weird walking bug when the player sinks into the floor, and bevel on everything else.
Skals SkalsLevel Designer
Posted 12 years ago2012-01-26 20:14:03 UTC Post #302983
Clip isn't rendered at all (except for clip nodes).
Stojke StojkeUnreal
Posted 12 years ago2012-01-26 21:56:17 UTC Post #302984
._.
Skals SkalsLevel Designer
Posted 12 years ago2012-01-26 23:06:16 UTC Post #302988
And no, all 6 sides must be clip.
Stojke StojkeUnreal
Posted 12 years ago2012-01-27 01:43:35 UTC Post #302991
Clip brushes are not normal brushes, they simply define a space where clip nodes are not to be generated.
Jessie JessieTrans Rights <3
Posted 12 years ago2012-01-27 10:29:11 UTC Post #302999
Yes, because they block the player, and clip nodes are where player can stand/touch.

So if you block off some complex architecture with clip, lets say a roof, you will save clip nodes by a large number, because all that will be counted in would be the 6 sides of the clip block.
Stojke StojkeUnreal
Posted 12 years ago2012-01-27 13:10:02 UTC Post #303001
That's one of the ways of how I optimized my map. I didn't just optimize the in-game performance, I made sure the map file is smaller by getting rid of some clipnodes using this method.
Skals SkalsLevel Designer
Posted 12 years ago2012-01-27 13:19:12 UTC Post #303002
You are right, the NULL map is 800KB larger.
Stojke StojkeUnreal
You must be logged in to post a response.