With cordite in the air, splintered steel, shell casings and powder burns, there’s only one explanation...
For all you mappers out there!

Moderators: Joe Kari, Pardner, TheDoctor, Breli

More about the PVS table

Postby Joe Kari » Mon Jan 19, 2009 5:11 pm

For those who don't know what is the PVS table (that stand for Potential Visibility Set) or others things related to VIS stage, read carefully the tutorial made by SPoG:
viewtopic.php?t=987

For those that are aware of SPoG tutorial, listen to me, I have discovered many things about the PVS table since I'm working on the SG code.

As you already know, the renderer checks the PVS table to know which clusters should be displayed, and then, send to your video card all tris inside those clusters (avoiding most of useless tris, and so improving framerate).

Maybe you have discovered that all sounds you hear depends on PVS table too: you can't hear something that happened in a cluster that is not in your Potential Visibility Set. That's weird cause unlike light, sounds don't travel in straight line, but that's the way it works in Q3 engine.

But that's not all. The game server only send entities state that are in the potential visibility set of the client. Yes, you read it: you don't receive position of all players, only those that your PVS table allows you. This have some effects: it reduces bandwidth (so the network could run faster), on the bad side that's the reason why after recording a video you can't change player or move as a free cam while replaying it, because the video was recorded with only data that was potentially visible from your point of view. On the good side, this mean that no wallhacker can see something that is not potentially visible to him.

And lastly, the PVS table is used by the physical engine many time, to reduce the number of brushes that have to be tested against. A "trace" (the most commonly used routine in physical engine, used both for detecting collision, or while you are shooting) only tests brushes in your PVS.


For all those reasons, please consider that hintbrushing your map is important, even if you have good framerate without that. Reducing bandwidth load and reducing CPU load of server are things important too.
User avatar
Joe Kari
SG Team
 
Posts: 879
Joined: Sun Sep 16, 2007 8:44 pm
Location: France



Return to Level Editing

Show Sidebar
Show Sidebar

User Control Panel

cron