Need help with optimization

I’m creating a movie-theater map, but when the player is in a sealed off “VIP” room with screens inside, the movie will freeze up, I think it’s because the screen stops being rendered when you get teleported into the VIP room. How can I make the screen/movie-theater area always be rendered?

If this is hard to understand please tell me and I’ll happily snap some screenshots.

It doesn’t make sense to me. Screenshots would be nice.

Okay, in the first picture is the movie theater, where a PlayX player is projected on the orange screen and works great, down the hallway to the right is a teleport to the area in the 2nd picture. In that area the screens will sometimes stop working, I suspect this is because the movie theater area is not being rendered. So I want to know how to make the player render it even if they’re not in the room.


How would I make it work with nodraw?

if you dont use nodraw then your going to lag big time.

What the fuck are you talking about?

Brush faces that can’t bee seen but are inside your level should be nodrawn. Brush faces touching other brush faces get removed automatically by VBSP.


So the TV’s let you see whats playing?

Try using an area portal, or getting rid of one screen and see what works.

How would I use an area portal?

Blue is the area portal. if you need it.

By making an area portal textured brush, and tying it to the func_areaportal brush entity. You’d place it between visleaves, or basically, doorways as an example. If you have a door in that spot, you should link the door to the area portal brush and set the initial state as closed. Make sure the area portal brush has less of a width than the actual door itself, because you actually need the door itself drawn.

You haven’t answered his question.

Try putting the VIP room physically next to it on your map, with a func_detail wall between the two.

He asked how he would use an area portal. And making the wall between the two rooms a func_detail isn’t a bright idea when you have an area portal in the middle. It’ll surely cause a leak.

If you seal it off as a hallway it won’t. And areaportals block the visleaf where the movie is playing, which is what he’s having an issue with. When the visleaf containing the screen is no longer rendered, the handle to whatever addon he’s using is broken and when the leaf is rendered again, a new instance of the addon is created and the movie plays from the beginning. He wants to make sure the leaf is always rendered, keeping one continuous instance of the addon going.

Hmm, I still don’t get where exactly Id place/setup the area portal to work how I’d like, if anyone could help out I’d love a quick instruction on where to put it.

exactly what I was going at. Any better ideas? is there any other way to do this, save disabling VVis (may be an okay option if this is a small map!)


Use func_viscluster on the two areas, that way they will always render each other.