Jump to content

Recommended Posts

Posted (edited)

Recently, while working on my map I compiled and noted a frame rate drop while exiting my CT spawn to Mid-A side of the map. After turning on mat_wireframe 1 I noted the map appears to be drawing nearly in it's entirety regardless of my position on it.  From Mid I could see nearly all of B was being drawn despite a wall blocking view of the visleafs there, a skybox separating the two zones and a hint brush cuttings the ceiling in such a way as there's no chance I'm seeing leaves above that side of the map.

 

I know this is something I should be able to solve with hint  brushes but I'm not experienced with then enough and I can't figure out exactly where they should be placed. This is really hurting my map's performance. Are there any advanced resources or tutorials out there that might give me some insight on what's going on? Most of my walls are func-details because of the cuts for texturing, then they have with a solid block behind them for cutting the visleafs. Is this an incorrect way of going about this or have I screwed up something else entirely?

 

Some Pic's in the spoiler

Here you can see right before the performance hit happens, all of the actual B Site is not being drawn.

DW5FL3Q.jpg

 

Moving up mid a little bit causes all of it to suddenly render.

sMyS8F5.jpg

 

Most of the rest of the map is also rendered.

2Qq4Ou8.jpg

 

 

Here's the hint brush cutting through the B site. You can see it's well below the buildings opposite of mid. There's only a hint texture on the one plane, the others all have skips on them. The Brush was created by grabbing, cloning and retexturing the skybox celing group.

NWfmUGYh.jpg

 

 

All assistance offered is greatly appreciated. This is driving me nuts.

 

Edit. Compile code. The viscluster bit.

1157 portalclusters
3409 numportals
BasePortalVis: 0...1...2...3...4...5...6...7...8...9...10 (0)
Optimized: 36157 visible clusters (0.00%)
Total clusters visible: 1121668
Average clusters visible: 969
Building PAS...
Average clusters audible: 1155
visdatasize:341573 compressed from 351728


-------------------------------------------------------------------------------
Running command: cd "D:SteamsteamappscommonCounter-Strike Global Offensiveb
in"
-------------------------------------------------------------------------------


-------------------------------------------------------------------------------
Running command: "D:SteamsteamappscommonCounter-Strike Global Offensivebin
vbsp.exe" -game "D:SteamsteamappscommonCounter-Strike Global Offensivecsgo"
 "D:SteamsteamappscommonCounter-Strike Global Offensivesdk_contentmapsNew
 folderde_sake_066a.vmf"
-------------------------------------------------------------------------------

Valve Software - vbsp.exe (May 20 2013)
4 threads
materialPath: D:SteamsteamappscommonCounter-Strike Global Offensivecsgomat
erials
Loading D:SteamsteamappscommonCounter-Strike Global Offensivesdk_contentma
psNew folderde_sake_066a.vmf
Map revision 787
ConVarRef gpu_level doesn't point to an existing ConVar
Patching WVT material: maps/de_sake_066a/dev/dev_blendmeasure2_wvt_patch
Patching WVT material: maps/de_sake_066a/dev/dev_blendmeasure_wvt_patch
fixing up env_cubemap materials on brush sides...
ProcessBlock_Thread: 0...1...2...3...4...5...6...7...8...9...10 (0)
ProcessBlock_Thread: 0...1...2...3...4...5...6...7...8...9...10 (0)
Processing areas...done (0)
Building Faces...done (0)
Chop Details...done (0)
Find Visible Detail Sides...
Merged 620 detail faces...done (0)
Merging details...done (0)
FixTjuncs...
PruneNodes...
WriteBSP...
NODRAW on terrain surface!
done (0)
writing D:SteamsteamappscommonCounter-Strike Global Offensivesdk_contentma
psNew folderde_sake_066a.prt...Building visibility clusters...
done (0)
Finding displacement neighbors...
Finding lightmap sample positions...
Displacement Alpha : 0...1...2...3...4...5...6...7...8...9...10
Building Physics collision data...
done (1) (494583 bytes)
Placing detail props : 0...1...2...3...4...5...6...7...8...9...10
Water found with no water_lod_control entity, creating a default one.
Compacting texture/material tables...
Reduced 2635 texinfos to 1664
Reduced 199 texdatas to 189 (4758 bytes to 4469)
Writing D:SteamsteamappscommonCounter-Strike Global Offensivesdk_contentma
psNew folderde_sake_066a.bsp
3 seconds elapsed
Reference Count for Material ___error (1) != 0

-------------------------------------------------------------------------------
Running command: cd "D:SteamsteamappscommonCounter-Strike Global Offensiveb
in"
-------------------------------------------------------------------------------


-------------------------------------------------------------------------------
Running command: "D:SteamsteamappscommonCounter-Strike Global Offensivebin
vvis.exe" -game "D:SteamsteamappscommonCounter-Strike Global Offensivecsgo"
 -fast "D:SteamsteamappscommonCounter-Strike Global Offensivesdk_contentma
psNew folderde_sake_066a"
-------------------------------------------------------------------------------

Valve Software - vvis.exe (May 20 2013)
fastvis = true
4 threads
reading d:steamsteamappscommoncounter-strike global offensivesdk_contentma
psnew folderde_sake_066a.bsp
reading d:steamsteamappscommoncounter-strike global offensivesdk_contentma
psnew folderde_sake_066a.prt
1157 portalclusters
3409 numportals
BasePortalVis:       0...1...2...3...4...5...6...7...8...9...10 (0)
Optimized: 36157 visible clusters (0.00%)
Total clusters visible: 1121668
Average clusters visible: 969
Building PAS...
Average clusters audible: 1155
visdatasize:341573  compressed from 351728
writing d:steamsteamappscommoncounter-strike global offensivesdk_contentma
psnew folderde_sake_066a.bsp
0 seconds elapsed

-------------------------------------------------------------------------------
Running command: cd "D:SteamsteamappscommonCounter-Strike Global Offensiveb
in"
-------------------------------------------------------------------------------


-------------------------------------------------------------------------------
Running command: "D:SteamsteamappscommonCounter-Strike Global Offensivebin
vrad.exe"  -game "D:SteamsteamappscommonCounter-Strike Global Offensivecsgo
" -noextra "D:SteamsteamappscommonCounter-Strike Global Offensivesdk_conten
tmapsNew folderde_sake_066a"
-------------------------------------------------------------------------------

Valve Software - vrad.exe SSE (May 20 2013)

      Valve Radiosity Simulator
4 threads
[Reading texlights from 'lights.rad']
[2 texlights parsed from 'lights.rad']

Loading d:steamsteamappscommoncounter-strike global offensivesdk_contentma
psnew folderde_sake_066a.bsp
Setting up ray-trace acceleration structure... Done (1.38 seconds)
4444 faces
6 degenerate faces
532177 square feet [76633608.00 square inches]
17 Displacements
8009 Square Feet [1153321.38 Square Inches]
4438 patches before subdivision
55274 patches after subdivision
light has _fifty_percent_distance of 100.000000 but _zero_percent_distance of 0.
000000
light has _fifty_percent_distance of 92.000000 but _zero_percent_distance of 74.
000000
47 direct lights
BuildFacelights:     0...1...2...3...4...5...6...7...8...9...10 (18)
BuildVisLeafs:       0...1...2...3...4...5...6...7...8...9...10 (10)
transfers 4277898, max 763
transfer lists:  32.6 megs
GatherLight:         0...1...2...3...4...5...6...7...8...9...10 (0)
        Bounce #1 added RGB(139013, 125661, 107132)
GatherLight:         0...1...2...3...4...5...6...7...8...9...10 (0)
        Bounce #2 added RGB(23027, 19288, 14146)
GatherLight:         0...1...2...3...4...5...6...7...8...9...10 (0)
        Bounce #3 added RGB(4408, 3518, 2221)
GatherLight:         0...1...2...3...4...5...6...7...8...9...10 (0)
        Bounce #4 added RGB(976, 745, 406)
GatherLight:         0...1...2...3...4...5...6...7...8...9...10 (0)
        Bounce #5 added RGB(236, 171, 81)
GatherLight:         0...1...2...3...4...5...6...7...8...9...10 (0)
        Bounce #6 added RGB(61, 42, 17)
GatherLight:         0...1...2...3...4...5...6...7...8...9...10 (0)
        Bounce #7 added RGB(17, 11, 4)
GatherLight:         0...1...2...3...4...5...6...7...8...9...10 (0)
        Bounce #8 added RGB(5, 3, 1)
GatherLight:         0...1...2...3...4...5...6...7...8...9...10 (0)
        Bounce #9 added RGB(1, 1, 0)
GatherLight:         0...1...2...3...4...5...6...7...8...9...10 (0)
        Bounce #10 added RGB(0, 0, 0)
Build Patch/Sample Hash Table(s).....Done<0.0175 sec>
FinalLightFace:      0...1...2...3...4...5...6...7...8...9...10 (3)
FinalLightFace Done
0 of 0 (0% of) surface lights went in leaf ambient cubes.
ThreadComputeLeafAmbient: 0...1...2...3...4...5...6...7...8...9...10 (5)
Writing leaf ambient...done
Ready to Finish

Object names       Objects/Maxobjs  Memory / Maxmem  Fullness
------------       ---------------  ---------------  --------
models                  15/1024          720/49152    ( 1.5%)
brushes               1376/8192        16512/98304    (16.8%)
brushsides            9687/65536       77496/524288   (14.8%)
planes                5394/65536      107880/1310720  ( 8.2%)
vertexes              9084/65536      109008/786432   (13.9%)
nodes                 2203/65536       70496/2097152  ( 3.4%)
texinfos              1664/12288      119808/884736   (13.5%)
texdata                189/2048         6048/65536    ( 9.2%)
dispinfos               17/0            2992/0        ( 0.0%)
disp_verts            1513/0           30260/0        ( 0.0%)
disp_tris             2464/0            4928/0        ( 0.0%)
disp_multiblend          0/0               0/0        ( 0.0%)
disp_lmsamples       23839/0           23839/0        ( 0.0%)
faces                 4444/65536      248864/3670016  ( 6.8%)
hdr faces                0/65536           0/3670016  ( 0.0%)
origfaces             3263/65536      182728/3670016  ( 5.0%)
facebrushes            696/0            1392/0        ( 0.0%)
facebrushlists        4444/0           17776/0        ( 0.0%)
leaves                2219/65536       71008/2097152  ( 3.4%)
leaffaces             6724/65536       13448/131072   (10.3%)
leafbrushes           4308/65536        8616/131072   ( 6.6%)
areas                    3/256            24/2048     ( 1.2%)
surfedges            36316/512000     145264/2048000  ( 7.1%)
edges                23907/256000      95628/1024000  ( 9.3%)
LDR worldlights         47/8192         4700/819200   ( 0.6%)
HDR worldlights          0/8192            0/819200   ( 0.0%)
leafwaterdata            1/32768          12/393216   ( 0.0%)
waterstrips            757/32768        7570/327680   ( 2.3%)
waterverts               0/65536           0/786432   ( 0.0%)
waterindices         15018/65536       30036/131072   (22.9%)
cubemapsamples           0/1024            0/16384    ( 0.0%)
overlays               138/512         48576/180224   (27.0%)
LDR lightdata         [variable]     2570651/0        ( 0.0%)
HDR lightdata         [variable]           0/0        ( 0.0%)
visdata               [variable]      341573/16777216 ( 2.0%)
entdata               [variable]       34029/393216   ( 8.7%)
LDR ambient table     2219/65536        8876/262144   ( 3.4%)
HDR ambient table     2219/65536        8876/262144   ( 3.4%)
LDR leaf ambient     11610/65536      325080/1835008  (17.7%)
HDR leaf ambient      2219/65536       62132/1835008  ( 3.4%)
occluders                0/0               0/0        ( 0.0%)
occluder polygons        0/0               0/0        ( 0.0%)
occluder vert ind        0/0               0/0        ( 0.0%)
detail props          [variable]           1/12       ( 8.3%)
static props          [variable]           1/29680    ( 0.0%)
pakfile               [variable]      150446/0        ( 0.0%)
physics               [variable]      494583/4194304  (11.8%)
physics terrain       [variable]        2677/1048576  ( 0.3%)

Level flags = 4

Total triangle count: 14312
Writing d:steamsteamappscommoncounter-strike global offensivesdk_contentma
psnew folderde_sake_066a.bsp
37 seconds elapsed

-------------------------------------------------------------------------------
Running command: copy "D:SteamsteamappscommonCounter-Strike Global Offensive
sdk_contentmapsNew folderde_sake_066a.bsp" "D:SteamsteamappscommonCounte
r-Strike Global Offensivecsgomapsde_sake_066a.bsp"
-------------------------------------------------------------------------------

Finished. Press a key to close.
Edited by MrSkellyBones
Posted

Are you sure your hint brush is completely sealing off the area? I dunno much about it, but that is crucial from what i've read/watched, otherwise you are just adding leaves without optimizing.

Posted

Are you sure your hint brush is completely sealing off the area? I dunno much about it, but that is crucial from what i've read/watched, otherwise you are just adding leaves without optimizing.

Hello! Thanks for the reply. Just to be sure I made a fresh brush and pulled it completely through the map. It doesn't seem to be the issue.

Posted (edited)

Hey guys thanks for the link! It was very helpful understanding what was going on in the visleaf section. It took me a while to figure out what to do and I'm still not good at it but by cutting two low visleafs the map stops the bottom one's from seeing the top leafs on other parts of the map. Also compiling vis on normal instead of fast helps quite a bit it seems. I'll have to practice with it and figure out where to put more of them. Also I didn't realize the valve maps use a fair number of these (20 - 30). I looked around de_dust2 and de_nuke to get some idea how they split those maps as they have significant out door areas like my map and that helped me figure out what to do with my hint brushes. Thank you! =D

Edited by MrSkellyBones
Posted

Never compile your map with fast VIS if you want to check its performance. I usually never do a fast compile anyway (unless it's for checking some simple things.

Ah I wasn't aware of that. I didn't realize it would have affected performance so much when I had done it. I compile fast most of the time because I'm constantly adding little things here and there and like to hop in and check them out on and off. I probably compile 20 to 30 times a day while working on the map so if I did full compile every time then I'll be waiting upwards to 2 hours on it at least.

Posted

Well, I guess that's fine, as long as you take into account VIS optimization is pretty much non-existent if you do a fast compile (or anything other than full compile).

Posted

Full compile give a good idea of how your leaves are optimized (at least before p2 engine, now vis is globally faster). Fast compile will make leaves but only full calculate visibility between each leaes.

 

More leaves means more connectivity between them, etc...

 

To see how your leaves are complex in hammer, look at "view => load portal file".

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...