ThreadBoard ArchivesSite FeaturesActiveworlds SupportHistoric Archives |
Research in Lights (Community)
Research in Lights // CommunitykfDec 26, 2004, 4:54pm
As it has been said often already, light is, even before high-polygon
objects and before any moving objects, a major source of lag. Although some graphic cards seems to be unaffected (which comes most probably from the fact that they are not hardware T&L capable and render then light software-wise, because eg. in software rendering, there is no light impact), most are, and expecially those from which one would not expect it - basically all hardware T&L capable graphic cards). I have tested various aspects of the light command, using the browser version 498 (because it was the last one without the framerate cap, this shows the effets better) and with a GeForce 5900 card. Video Settings are DirectD8 + T&L. This mileage is different for different cards, but the proportion is the same - and it is definitely there, even when you cannot see it anymore due to the 5xx version framerate cap, it will then rather be noticed as unspecific lag, and, in many cases, the object polygon counts will be blamed instead. The bare numbers in an, otherwise completely empty world, and with all lights visible at a time, are: 0-2 lights, framerate=100 3 lights, framerate=99 4 lights, framerate=90 5 lights, framerate=83 6 lights, framerate=75 7+ lights, framerate=64 In conclusion, the light affects the graphic card performance drastically when more than 3 lights are visibile at a time. Each additional light will reduce the performance roughly by 10% up to 7 lights (1 light is used by the world light and almost all graphic cards, and the DirectD and the OpenGL definitions do not allow for more than 8 hardware lights altogether). Please note that "visible light" cannot be limited by the "radius" parameter in the light command or the world features, because the radius parameter only denotes up to which distance (in m) an object will be _hit_ by the light, it does NOT denote up to which distance away it can be _seen_ - this depends only on the current visibility of an avatar. In other words, when an avatar has set his visibility to 200m, he will ALWAYS see all lights around him up to 200m, no matter whether this light shines on objects only 2m around in its radius. There is no difference in the effect of lights regarding their color, spot, brightness or fx-settings. A brightness of 0.01 has the same impact as a brightness of 10. Therefore, I recommend for the use of the light command: - Switch lights explicitely out when they are not needed, this can be obtained by setting remotely brightness to 0 (radius=0 will not work!), using the name= command and a bump/activate object (imagine a light switch). - In worlds that use lights only at certain times, eg. at night, it does make sense to switch all lights out during the day, eg. by using a bot which sets all brightness to 0 (in a direct change, radius=0 also works, it only won't in a remote, indirect change). - When you use lights as a design element, cut down the visibility in the world drastically (world features:Fog max). Remember, the light can be seen at any distance up to 200m, depending on the visibility in a browser, so reducing the maximum world visibility to values like 50m is the _only_ way to force browsers to a low visibility). - Even though 3 and less lights at a time have only little impact on performance, weaker graphic cards might notice even those 3 lights. Do also not forget, that the light impact comes on top of the polygon-count performance decrease! - If you need to use many lights, you can use as many lights as you want, but be aware that almost every visitor will only be capable to see 7 at a time (the 7 nearest ones). Only the people who use software rendering will see them all. - If you need no active lights, but want an object to glow in the dark anyway, use the prelight command in the rwx file - this prelight command is not an active light (it does not emit light that can hit other objects, but only reflects passively the world light plus the prelight value) and has _no_ effect on performance. policeDec 27, 2004, 1:24am
>- In worlds that use lights only at certain times, eg. at night, it does
>make sense to switch all lights out during the day, eg. by using a bot >which sets all brightness to 0 (in a direct change, radius=0 also works, >it only won't in a remote, indirect change). > interesting, but I have street lamps with a light on every 20-30 meters or so on the roads, needed to guide the visitors during the night periods of the world.. it would be an impossible task for a bot to take care of so many objects. Police (aka Vips) lord fettDec 27, 2004, 2:21am
Doing a task like that doesn't seem impossible to me, I bet there is a
way to do something like that... [View Quote] c pDec 27, 2004, 3:14am
[View Quote]
make bot that uses tags fett?
lol wouldnt be that hard eh? allow them to set a radius? a gz point, and the furthest most point for the bot? then have it set up light tags? create name box, then that coudl have the name(s) used in the city? lol lord fettDec 27, 2004, 3:41am
You could probably just tag the lights, to save cell space and just use
remote objects to turn the lights on and off. Changing 1 object in the center of a couple of the lights is easier than changing 4-8 light objects individually. Reduces the workload a lot that way... [View Quote] policeDec 28, 2004, 2:37am
On 27 Dec 2004 00:41:29 -0500, "lord fett" <lordfett at vectracon.com>
[View Quote] >You could probably just tag the lights, to save cell space and just use >remote objects to turn the lights on and off. Changing 1 object in the >center of a couple of the lights is easier than changing 4-8 light >objects individually. Reduces the workload a lot that way... ufff... thnks for yr suggestions, but... it's a p-50 world, i haven't counted the street lamps.... but they could be in the range of 200. too much fuss... anyway, in general, i try to keep the world simple and not overloaded... btw its name is Luha. Police (aka Vips) |