This forum has been archived. All content is frozen. Please use KDE Discuss instead.

What's the difference between direct vs indirect rendering?

Tags: None
(comma "," separated)
User avatar
aapgorilla
Registered Member
Posts
247
Karma
0
OS
What's the difference between direct vs indirect rendering? I couldn't find an answer, which one is the best for nvidia?
User avatar
bcooksley
Administrator
Posts
19765
Karma
87
OS
Direct rendering is managed through DRI and is when an application communicates directly with the graphics driver using OpenGL to perform the rendering. Indirect rendering is when it is done through the X server.


KDE Sysadmin
[img]content/bcooksley_sig.png[/img]
User avatar
aapgorilla
Registered Member
Posts
247
Karma
0
OS
so which is the best one to with with nvidia cards (with the latest drivers)
User avatar
Zarin
KDE Developer
Posts
345
Karma
8
OS
Direct rendering.
User avatar
aapgorilla
Registered Member
Posts
247
Karma
0
OS
okay that's what I needed to know
Alejandro Nova
Registered Member
Posts
35
Karma
0
OS
Sorry about revisiting an old topic, but my latest experiences make this answer not so clear cut.

1. If you have lots of video memory and want the best performance, Direct.
2. If you have not so much video memory (<= 128MB VRAM), and want the best performance with GUI, Indirect. With Direct you won't be able to open more than a fixed number of windows; after that you'll face the "Black Window Bug". The solution for that bug is to turn away from Direct Rendering.
3. KDE 4.7 rewrites and rehashes everything about this question, so you'll have to throroughly test Beta 1 with Direct and Indirect and see what works best for you. Hint: Direct can be better than today's Direct, if OpenGL 2 is used.
4. When this post was written, Nouveau was in a dismal state. Now one of my computers runs Nouveau with kernel 2.6.39, stability is awesome, and 3D runs like a dream. Consider Nouveau, if you have trouble with the proprietary driver.
User avatar
mahen
Registered Member
Posts
50
Karma
0
OS
I'll check again when 4.7 is released, but I was surprised to see that Indirect rendering could work better to some extent.

For instance (when using the default : direct rendering), I noticed that OpenGL games, when they are windowed, are slow on my setup (nvidia prop drivers ; like half of the FPS, even simple games) and get fast when they are fullscreen and/or with compositing disabled.

When direct rendering is disabled, windowed OpenGL games are *smooth* (which is the case under compiz) and even vsynced properly (which is not the case under compiz). However, ONLY if all my other windows are closed.

There seems to be a limit in X which prevents from syncing properly several OpenGL apps at the same time. But it's not just a matter of syncing, there's also a performance issue.

Well, it's really complicated to get everything to run properly, smooth & synced.


Bookmarks



Who is online

Registered users: Bing [Bot], Google [Bot], Sogou [Bot]