Fxlevels are used to optimise performance within a map, dependent on the users graphical settings. These attributes are set by the mapper to control level of detail, with maximum performance in mind for lower end hardware.
Mapeffects is a user setting, which allows you to hide specific entities on a per map basis, be that mapmodels, particles, lights, decals; etc. There are 3
mapeffects levels which correspond to the value of an fxlevel attribute.
|fxlevel||Corresponding mapeffects state|
|0||default setting, entity appears always|
The best use-case for fxlevels is to typically remove shadows at lower
Lights can be duplicated and assigned fxlevels to allow volumetric lighting to be hidden. Whilst also disabling shadows.
Shadows tend to be the heaviest thing to render, so limiting most lights to only cast shadows at fxlevel 2 and above can be a good idea. The best way to do this is create a duplicate entity, each with their own fxlevel for the different attributes (eg; no-shadow).
The same as above, mapmodels will cast shadows which can be problematic for performance if there are many on lower end hardware. Duplicating the mapmodel entity (in the same location), but setting one of them to use the no-shadow flag can be useful.
Below shows a comparison of how fxlevel / mapeffects can be used to remove shadows from map models and lights, depending on the users