Re: FW: XFree86 future
[email protected] (Lukas Molzberger)
| Newsgroups | gmane.comp.xfree86.forum |
|---|---|
| Message-ID | <[email protected]> |
> On Sun, Mar 23, 2003 at 10:35:19AM +0100, Lukas Molzberger wrote: > > > Don't worry, we're not planning on getting rid of the client-server > > >model any time soon. David Wexelblat is correct in the sense that > > >the majority of people do not need it, but it's definitely the case > > >that some people find it essential. Not only that, I disagree with him. > > >I think direct rendered 2D has little to no benefit. > > > > > > > > > Mark. > > > > If direct rendered 2D would bring little to no benefit why then is the > > performance of direct rendered 3D under XFree so much better than the 2D > > How can you compare them ? I admit that this is mainly a subjective thing, but in 3D I can load really complex objects and I can move them around and it feels smooth and fluent. The 3D won't let me see any broken or incompletly drawing states. But that's the case on the X11 desktop. Sometimes I can watch the system redrawing a window. The X11 desktop just doesn't feel good. That's not only a XFree problem but a general problem of X11. I've used several X11 implementations (in Irix, AIX, Solaris) and it's always the same. > They have very little in common, and > performance bottleneck are very different. In 3D basically you just > upload textures and vertices to the graphic core, and the graphic core > handles all the rest of it. In 2D, for the currently accelerated part i > think you cannot really pry anymore performance out of the current > hardware, except maybe by using the dma engine instead of mmio register > access, but i have heard that it doesn't give much better performance > (because of the overhead of the dma engine), but the radeon driver > already does so, and i guess that it much depends on the graphic > hardware. > > Now, the slowness probably is about the RENDER extention, where you have > to move huge chunks of pixmaps and alpha masks around, and which is not > hardware accelerated in the most case (apart from the mga driver and the > XIG Server apparently). I feel that the cause of this is because moving > pixmaps around over the network cannot be good performance, unless you > have a faster network than you have a processor or graphic card. The > correct solution to this is to use vector graphics, as Apple did do, and > is in the pipe for X 5.0, and the new SVG graphics support in gnome is > also a good step to there, altough i have the feeling that this > developpment is years late, but then i am not familiar with the reason > for it. Sounds good. > > That said, if 3D is really all that faster, i hear that OpenGL has also > a nice 2D API that could be used. Yes, but that would mean that Qt and Gtk would have to be ported to OpenGL before it has any meaning to the enduser. That might solve the performance problem, but it seems like a very hacky solution. > > One thing that would be nice is to have a common driver for 2D and 3D. > Or at least that both use the same command stream (the drm dma engine if > it is available, mmios if not, altough there is no 3D anyway in this > last case). Context switching and chip synchronization are expensive > operations and maybe responsible for poor performance. > > > performance. Many people argued that the device drivers are to blame for > > the bad 2D performance but I would think that it is a much harder problem > > to get > > Well, 2D performance is mostly about moving pixels around, and you can > do that only as fast as the hardware allows. Now the RENDER extension is > currently unaccelerated, is in part because each time i asked Keith > about information on how to accelerate it, he responded there is no doc > (yet) and RENDER is not really ready, stable, etc, so he would not write > such documentation. If he responded at all, that is. I asked him on and > off about this in the past two years, and got this selfsame reply last > around last october or such. Yes, that might be a part of the problem. > > > > > the 3D part of the graphics driver right than it is to get the 2D part > > right. > > > I'm certain that network transparency together with the ancient X11 > > API's are > > > a large part of the problem of the XFree project. I've worked on several > > Well, on local X, the network part is supposed to be almost transparent > and cost very little, so why remove it. My point is that the client-server model does not only have a performance penalty but more importantly that it also makes X11 as a whole unnecessarily complex. It makes it difficult if not impossible to fix certain issues in XFree and the complexity also scares possible new developers away. Take for example the problem of resizing opque windows. It looks extremly slow and broken even on fast hardware. That's not really a performance problem but a synchronization problem between the WM, the XServer and the application. I've asked about this issue before and everybody seem to agree that it is pretty much impossible to solve this issue with the current X11 protocol. > Friendly, > > Sven Luther Cheers Lukas