MrSkellyBones Posted August 5, 2013 Report Posted August 5, 2013 (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. Moving up mid a little bit causes all of it to suddenly render. Most of the rest of the map is also rendered. 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. 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 August 5, 2013 by MrSkellyBones Quote
blackdog Posted August 5, 2013 Report Posted August 5, 2013 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. Quote
MrSkellyBones Posted August 5, 2013 Author Report Posted August 5, 2013 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. Quote
Tschoppo Posted August 5, 2013 Report Posted August 5, 2013 http://rvanhoorn.ruhosting.nl/optimization.php?chapter=intro This has all the info you need MrSkellyBones, Vilham and blackdog 3 Quote
Vilham Posted August 5, 2013 Report Posted August 5, 2013 the link above taught me everything you need to know. Quote
MrSkellyBones Posted August 6, 2013 Author Report Posted August 6, 2013 (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 August 6, 2013 by MrSkellyBones Quote
Squad Posted August 6, 2013 Report Posted August 6, 2013 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. Quote
MrSkellyBones Posted August 6, 2013 Author Report Posted August 6, 2013 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. Quote
Squad Posted August 6, 2013 Report Posted August 6, 2013 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). Quote
ElectroSheep Posted August 6, 2013 Report Posted August 6, 2013 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". Quote
Recommended Posts
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.