Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

What is indirect rendering and what sort of implications does it have on graphics performance?

Also, is it a Linux-specific term or can it be used in the context of other operating systems?

share|improve this question
up vote 4 down vote accepted

Indirect rendering is when a remote application is rendered on the local computer. It transports the graphics data over the X11 protocol. How it performs depends both on the network connection to transport the data and how good your local gfx card is.

It's applicable on any system with a gfx card and an running X-Server (windows or linux)

share|improve this answer

Indirect rendering basically means that the entire rendering pipeline runs through GLX/X11. It is a trade-off that usually results in more resource consumption as well as greater latency and occasionally results in lower rendering speed

Simplified for illustration purposes I'll describe it here.

Direct Rendering:

Application --> LibGL --> Driver --> Hardware

Indirect Rendering

Application --> LibGL --> Xorg --> Driver --> Hardware

The advantages of Indirect rendering is it reduces some driver related bugs, doesn't require user level access to the video card (security feature), and it allows rendering over a network.

The disadvantages of Indirect rendering is it has a longer pipeline lantency and it's pipeline uses more resources (particularly memory bandwidth and processor time).

Indirect rendering usually results in lower performance, particularly on applications that have high processor overhead, or are designed to rely on a low-latency rendering pipeline.

In some rare cases direct rendering can be faster in applications that poorly handle the short queue buffer in the direct rendering pipeline. Much like when a print buffer would speeding printing, this can be due to bugs or limitations in applications that rely on the rate at which outgoing asynchronous render calls can be streamed out.

share|improve this answer

Indirect rendering as opposed to Direct rendering means your using some sort of software rendering instead of using your graphics card GPU. The results are poor 3D rendering.

Indirect rendering means no hardware graphics acceleration.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.