Automating .map file optimisation

Post anything to do with editing Nexuiz here. Whether its problems you've had, questions, or if you just want to show off your work.

Moderators: Nexuiz Moderators, Moderators

Automating .map file optimisation

Postby Ed » Fri Sep 19, 2008 9:47 pm

Having been struggling for some time over StrengthCTF with way too many brushes, I've been considering ways to remove unnecessary brushes from a map in Radiant. One method I have already sorted out:

Deleting brushes that are entirely caulk as AFAIK there is no need to have them:
This is done from the View > Filter menu to hide/unhide brushes.
Filter caulk
Invert selection to grab everything
Unfilter caulk
Invert selection, now you will have the caulk only brushes
Backspace

There are other things I'm considering that could be worked out somehow, perhaps in a plugin for Radiant:
Automatically caulking all faces that entirely face into the void or another brush
Deleting brushes that sit entirely within another brush
Automerging brushes that have matching textures.
Resizing down brushes that needlessly protrude into the void. This is just to clear the map a bit to make it easier to work in.

Any other ideas?
Ed
Forum addon
 
Posts: 1172
Joined: Wed Mar 01, 2006 12:32 am
Location: UK

Postby morfar » Fri Sep 19, 2008 9:57 pm

caulk brushes is used behind patches/entites/models to seal the map from the void.
morfar
Site Admin
 
Posts: 938
Joined: Tue Feb 28, 2006 6:08 pm
Location: The Island

Postby tZork » Sat Sep 20, 2008 5:28 am

that could actually hurt in game performance rather then help it. afaik a caulk only brush is never bad from render speed. caulk only brushes are however often used to zeal a map from the void or to seal the "hole behind" a detail so that a room (for example) don't get rendered because a detail brush that's part of the wall makes the game consider it visible (detail brushes are invisible as far as the what-to-render-or-not part of the engine is concerned)

what you really want to be hunting is detail brushes with unseen faces that are not caulked and detail brushes that hide a non caulked surface. large brushes spawning multiple rooms and extensive use of overlapping alpha blended surfaces are other common performance eaters. thou i doubt you would find much of those in strength given Strahlemann obvious experience.
HOF:
<Diablo> the nex is a "game modification"
<Diablo> quake1 never had a weapon like that.
<Vordreller> there was no need for anything over 4GB untill Vista came along
<Samua>]Idea: Fix it? :D
<Samua>Lies, that only applies to other people.
tZork
tZite Admin
 
Posts: 1337
Joined: Tue Feb 28, 2006 6:16 pm
Location: Halfway to somwhere else

Postby Alien » Sat Sep 20, 2008 5:33 am

q3rad_manual wrote:It is possible to even further reduce the number of brush faces being calculated by applying a special non-drawing, but "solid" texture called "caulk" (common/caulk) to surfaces that cannot be seen in the game. When seen in the editor, this texture is a bright garish pink. In the game, it does not draw at all. Apply caulk to any brush face that either doesn't form the "shell" of the world or can't be seen by a player during play. Doing this may not improve your map's frame rate, but since your are telling the compiler that as many as five of the six faces on a square brush don't have to be calculated, it should have some significant effects on compile times. As long as you do not have any brushes that "share" the same space, caulking brushes should help reduce compile times. However, if you use caulk on a brush that "shares" the space of another, your compile time and all file sizes will actually increase.

Astrocreep compiled the test level nearly 200 times, many of those times were when he moved just a single brush, just to see what would change. Caulking seems to help the -light phase of compiling the most.

Efficient map construction means caulking all unseen brush faces.


Cause this is done by q3map2 caulking only helps to reduce compile times.
Alien
Forum addon
 
Posts: 1212
Joined: Tue Apr 22, 2008 7:12 am

Postby Ed » Sat Sep 20, 2008 10:33 am

tZork wrote:that could actually hurt in game performance rather then help it. afaik a caulk only brush is never bad from render speed. caulk only brushes are however often used to zeal a map from the void or to seal the "hole behind" a detail so that a room

They are used for that, yes, but a lot of the time there are irrelevant brushes lying around in a map. If you were able to automatically caulk all unseen faces, what you would be left with as all caulk brushes would almost all be completely useless. If you delete them all then plugging the leaks is very easy from a pointfile. I did this on StrengthCTF and have found that even in Strength (half of StrengthCTF) there are about 50 useless caulk brushes. Combined with some merging, I've managed to get StrengthCTF from an initial 5800 down to 5360. Around 100 of that could easily be applied to Strength. I wouldn't say that it would greatly improve performance but it will make a map easier to work with and has the potential to fix compilation problems, although this has not yet fixed StrengthCTF.
Ed
Forum addon
 
Posts: 1172
Joined: Wed Mar 01, 2006 12:32 am
Location: UK


Return to Nexuiz - Editing

Who is online

Users browsing this forum: No registered users and 1 guest

cron