What does VIS do?
What does VIS do?
Newbie alert number #732
Apparently, VIS "builds the potentially visible set"... What does that mean? I was wondering what VIS does since, as we know, it's not needed to run the map.
I ask because I am working on a map that runs kind of slow and I was wondering if VISing the map would speed things up (I know the answer to that could be "well, VIS it and you'll see, but I was interested in knowing more about what that program actually does )
Apparently, VIS "builds the potentially visible set"... What does that mean? I was wondering what VIS does since, as we know, it's not needed to run the map.
I ask because I am working on a map that runs kind of slow and I was wondering if VISing the map would speed things up (I know the answer to that could be "well, VIS it and you'll see, but I was interested in knowing more about what that program actually does )
VIS takes all the BSP leafs (partitioned zones of the map) and for each one of them, calculates a list of what other leafs are visible from that one. It's used in rendering for culling out areas that aren't visible, (completely behind a wall), so if you don't have it the entire map will be rendering each frame (although DarkPlaces can do some crazy real-time VIS Jr.). So yeah it'll speed your map rendering up, unless it's an outdoor map or an extremely complex BSP in which case you shouldn't be using Quake And I believe it's also used in other things e.g. idle-monster-sees-player checks.
F. A. Špork, an enlightened nobleman and a great patron of art, had a stately Baroque spa complex built on the banks of the River Labe.
A good example of how vis affects things is to turn on wateralpha in a map not vis-ed for transparent water. The leaf you are within will see the leaf that is submerged in the water as not being visible, as it acts with the attitude of a brush with a liquid texture is completely opaque. Hence when you turn it on, you get an HOM of sorts, as the gl renderer considers it looking into the void to an extent.
But when it knows it can see that leaf from this other leaf... no problem, okey dokey roger wilco.
Holy shit, I apparently know something o_O
But when it knows it can see that leaf from this other leaf... no problem, okey dokey roger wilco.
Holy shit, I apparently know something o_O
Thats some damn handy info which I didnt know about, but does make sense... I honestly wasnt aware of how such things could affect a connection, or things like 'internal bandwidth' until the Helms Deep map when LordHavoc was explaining to me the intensity of all the knights waking up despite their simple ai.
CocoT, if you want to see how vis can affect a map, run around with r_novis 1 on - in an id map at that. BTW, with that turned on, a map that normally didnt support translucent water will now render it just fine.
CocoT, if you want to see how vis can affect a map, run around with r_novis 1 on - in an id map at that. BTW, with that turned on, a map that normally didnt support translucent water will now render it just fine.
(10 days later)
Mmm, vis worked ok on some smaller test maps, but now I have this bigger map which somehow won't vis.
I tried seeing if turning it into a Q3 map would help frame rate and had the feeling it did, but then I had some issues with liquid textures (rendered as solids) and the skybox didn't load (which might actually explain why the frame rate was a bit better).
Anyway, for the moment I'm thus not vissing(?) it and hit a low of around 10 frame per second in some areas/angles. The problem is that I do need to add some more stuff (not a lot, but still), so we'll see.
Stupid question: does external texture loading help frame rate? I had the feeling I gained a little by using a retexturing project rather than use default Q1 texture settings.
Mmm, vis worked ok on some smaller test maps, but now I have this bigger map which somehow won't vis.
I tried seeing if turning it into a Q3 map would help frame rate and had the feeling it did, but then I had some issues with liquid textures (rendered as solids) and the skybox didn't load (which might actually explain why the frame rate was a bit better).
Anyway, for the moment I'm thus not vissing(?) it and hit a low of around 10 frame per second in some areas/angles. The problem is that I do need to add some more stuff (not a lot, but still), so we'll see.
Stupid question: does external texture loading help frame rate? I had the feeling I gained a little by using a retexturing project rather than use default Q1 texture settings.
-
- Posts: 2126
- Joined: Sat Nov 25, 2006 1:49 pm
If you cannot VIS a map, there's a hull breach somewhere. Find it, seal it, and try to VIS again. Repeat until success.CocoT wrote:(10 days later)
Mmm, vis worked ok on some smaller test maps, but now I have this bigger map which somehow won't vis.
I tried seeing if turning it into a Q3 map would help frame rate and had the feeling it did, but then I had some issues with liquid textures (rendered as solids) and the skybox didn't load (which might actually explain why the frame rate was a bit better).
Anyway, for the moment I'm thus not vissing(?) it and hit a low of around 10 frame per second in some areas/angles. The problem is that I do need to add some more stuff (not a lot, but still), so we'll see.
Stupid question: does external texture loading help frame rate? I had the feeling I gained a little by using a retexturing project rather than use default Q1 texture settings.
When it's really hard to find the hull, i use a dirty trick: I first remove all entities but the player (of course, save a backup first ), then I make a really big wall dividing the map in the half. If this not work at first, I either move the wall along the map or add one or more walls, dividing it yet more, until the map is "sealed" again (or, at least, the section where the player is). Then I start moving or removing the first big wall, then the others, until I can pinpoint the leak. Usually, some brush with the wrong size, leaving a small and hidden opening that only VIS can see.
The best way to avoid this is to run VIS every 30 minutes or so, because you can easily identify what could be causing the leak.
And about your question: no, external textures could only make any difference in the map loading times.
I know FrikaC made a cgi-bin version of the quakec interpreter once and wrote part of his website in QuakeC (LordHavoc)
-
- InsideQC Staff
- Posts: 1120
- Joined: Sat Oct 16, 2004 3:34 pm
Reading this may help as well in locating leaks.
http://www.inside3d.com/showtutorial.php?id=184
Also, make sure you're using good tools, like the Bengt Jardrup ones.
http://user.tninet.se/~xir870k/
Edited to remove links to equake site.
http://www.inside3d.com/showtutorial.php?id=184
Also, make sure you're using good tools, like the Bengt Jardrup ones.
http://user.tninet.se/~xir870k/
Edited to remove links to equake site.
Last edited by Dr. Shadowborg on Thu Dec 14, 2006 11:21 pm, edited 2 times in total.
-
- InsideQC Staff
- Posts: 1120
- Joined: Sat Oct 16, 2004 3:34 pm
Wow, thanks frag.machine and Dr Shadowborg, super good pieces of advice and links. I really appreciate it! I realize I really know little about mapping and it's fun learning.
I'll try it out again today and will keep you updated with the results.
Oh, and since I'm at it: what does "cluster with too many portals" mean? I get that error on another map
Update1 : Weird, when I try the "pointfile" thingy, I get the following, "0 point read / point at 0 0 0"... In DP, I get axes pointing to the center of the map grid. Does that mean there is no leak?
I'll try it out again today and will keep you updated with the results.
Oh, and since I'm at it: what does "cluster with too many portals" mean? I get that error on another map
Update1 : Weird, when I try the "pointfile" thingy, I get the following, "0 point read / point at 0 0 0"... In DP, I get axes pointing to the center of the map grid. Does that mean there is no leak?
Last edited by CocoT on Thu Dec 14, 2006 4:45 pm, edited 1 time in total.