PVS

Ok i have a bsp tree and i want to implement a pvs, i understand what a pvs is, but i can only come up with two ideas of implementing it ie using portals or using ray casting, now both have there drawbacks ie portals well have to use portals ie more design time, ray casting well that might not hit all possible objects in scene so the question is are there any other ways ??

thanks 3DG