* What are shaders?
All the advanced graphical effects are done using the fact that modern graphics cards (GPUs) are programmable. Flightgear uses OpenGL as the rendering framework, and the effects are then done by snippets of code written in a language called GLSL, the so-called shaders. The computing load generated by visual effects is substantial - current high visual quality shaders execute about 800 lines of instructions per pixel (!) per frame, which include matrix multiplications and mathematical functions. In terms of processing demands, 3D rendering is by far more costly than the flight simulation itself, but it runs on the GPU which is able to do heavy parallel processing and has hardware acceleration for the involved math.
* My system is unusably slow - why?
Nowadays there are vast differences in the processing power of GPUs. Especially laptops are usually equipped with a very modest graphics card (often just an integrated chipset) which is very good for long battery lifetime and delivers not much processing power and graphical memory, just enough to work with the laptop. On the other hand, gaming computers come equipped with graphics cards which have more than 10 times the graphical memory and 20 times more processing power (needless to say, in a laptop these are very battery-hungry). Especially Mac computers, despite their relatively fast processors, are known to have usually rather weak 3D rendering capabilities. The shaders written for Flightgear come with different quality levels - at the upper end, they run comfortably on gaming computers, at the lower end they run comfortably on low-powered laptops.
Flightgear does not recognize automatically which setting is appropriate for your computer, and hence this has to be configured manually. This is done in-sim in the menu View->Rendering. Bring up the detailed shader configuration dialog, switch every shader to zero and uncheck every option - this should result in a high framerate. Start switching shader effects on till you have an acceptable balance between visual quality and framerate.
* My system is unusably slow with all shaders off - what should I do?
This looks like a bug. The most basic rendering framework without using the GPU at all (software rendering on the CPU) gives for a 2 GHz dual core machine 20-30 fps. Modern computers should reach this number without any graphical effects. See below for how to report bugs.
* I see lots of graphical errors!
This looks like a bug - see below.
* All other effects run fine, but just effect X kills me - why is that?
That may have different reasons. Older hardware doesn't have support for some operations used, for instance geometry shaders may be a killer. Shaders use rather different techniques, for instance the urban effect needs to do significantly more texture lookups than other effects, so if texture lookup is particularly slow on your card, you will be able to run shaders in general fine, but not this one.
If your card is slow in vertex processing but fast in fragment processing, a highly detailed, many-polygon aircraft model will give your very low framerates when it is in view, although highly detailed scenery effects (which rely on the fragment processing pipeline) run fine.
The bottomline is - different effects need different operations, and different hardware provides different support for the various operations, so there is no simple scaling from one 3D application to the next and no simple scaling from one effect to the next.
Graphical bug reporting checklist:
The way shaders are compiled is very dependent on the hardware and driver. The same set of instructions might be processed okay by an NVIDIA driver but not by an ATI/AMD Radeon driver. Thus, shader developers and testers may see everything running just fine and may be completely unable to reproduce the bug or see any error. In order to trace the problem, it is therefore crucial to give detailed information which allows to identify the issue. Please work along the checklist below:
* Is the problem particular to Flightgear?
Make sure that you have a correct driver for the GPU installed, make sure that you have direct rendering available. Check if other OpenGL applications work fine. If you have no direct rendering or problems with other OpenGL applications, the problem is on your side and can't be fixed within Flightgear - update drivers and diagnose OpenGL problems.
* Was the problem reported before?
Use the forum search function to look for similar reports. If a similar problem has been reported before, do not open a new thread, but use the existing to provide new information (or, if the problem has been solved, use the solution).
* What is the problematic shader?
What rendering framework are you using? Currently we offer the default, Atmospheric Light Scattering and Rembrandt. If unsure, include a screenshot of the View->Rendering dialog window.
For terrain shaders - what landclasses are affected? At what quality level (use the detailed shader configuration in View->Rendering) does the problem occur?
For aircraft model shaders - what aircraft are affected? At what quality level do problems occur?
If there is a graphical inconsistency - under what light and fog conditions does it occur? Are there changes in dawn light, at night or in heavy fogging?
Include a screenshot showing the problem if possible.
The most important clue: Is there any error thrown to the console indicating that a shader failed to compile (lines with 'vertex' or 'fragment' are usually tell-tales). If unsure, copy the whole console output into your bug report. We can not take action if the report is unclear and doesn't identify which quality level for which object/landclass... is problematic.
* What is your hardware?
What graphics card are you trying to use? The generic theme seems to be that NVIDIA cards are least problematic, ATI Radeon has some issues and integrated Intel chipsets have compatibility issues with OpenGL standards and usually do not allow to use any advanced visual effects. Knowing what your hardware is allows us better guesses at what the issue might be.
Do not insist that your computer is equipped with a quad-core 3.0 GHz processor (or similar) and should be much faster than what you see - the CPU is not used for rendering visual effects and its performance is of minor relevance, if you have a low-power integrated Intel chipset for 3D, then this is what limits you.