I'm working on the visportal lesson for my mapper's workshop, and I've been doing some tests with visportals.
According to Komag's visportal video, if a visleaf is open, it does not provide any performance benefit. The wiki also states: "Since the player can see straight down through [the visportals] then they serve no purpose as they will all be open"
Both sources suggest that if you have two rooms, and put one visportal between them (see image below), then that provides no benefit in terms of performance, because the visportal will always be in the player's line of sight, and so it will never close. Since it never closes, the entirety of room 2 will be drawn when the player is in room 1 and vice versa.
However, this doesn't appear to be how visportals actually work. In a long hallway with open doorways, I tested the numbers with no visportals at all, and then put visportals in the doorways. The numbers dropped to about 25% of the values I had with no visportals at all, even though all the visportals I added were open.
Additionally, setting r_showtris to 3, which is supposed to show all tris, rendered or not, only showed tris for the main hall. No tris were shown beyond the open visportals until I was actually able to see into the room. It seemed to be accurately drawing the tris that were being rendered for the player.
From what I can tell, open visportals DO keep the visleaf beyond from being rendered, other than what the player can directly see from their position. So, in the image below, room 2 would not be rendered unless the player moved to the top of room 1, looking down the hall, and then, only the parts the player could directly see would be rendered.
This makes visportals much more effective than I thought they were. Was everyone else aware of this already?