what is needed is a system to toggle on and off light sources based on their visibility to the player. so only the most visible 8 sources are used with hardware lighting. then you combine that with a faster, lower quality lighting effects for things like weapons and whatnot, to fill in the background. so every time you get ready to do lighting computation, a list of sources is sorted by distance from the camera * size higher numbers taking the hardwre lights, and lower numbers either using the software lighting or no lighting at all. the idea is if you fill up the foreground, your eyes are distracted from the lack of lighting in the background.