Some considerations

[email protected]
Newsgroups gmane.comp.freedesktop.xserver
Message-ID <[email protected]>
I'm just a lurker here, but the discussion has been rather interesting. There  
are some interesting issues that came to mind while reading the list for the  
last view days.  
  
1) Is anybody here familiar with OS X's windowing system? I ask this because  
they seem to have solved the issue of synchronizing application and window  
manager drawing. Each app signals when it has completed drawing, and the  
overall composition process is synced with the monitor's vertical retrace, to  
get rid of flicker during movement and opaque resize. I don't know if  
unmodified X apps can achieve the same result --- do apps reliably use XSync to  
signal the end of drawing?   
  
2) Is this server going to have an adverse effect on 3D performance? The large  
window buffers hanging around in graphics memory is disconcerting. Its not  
going to be a big deal for 3D games, because a full-screen app will quickly  
kick out old window buffers after running for some time. However, for a  
windowed 3D app (like XSI or Maya), those window buffers will eat into graphics  
RAM. Also, the rendering method that seems to be appearing is a bit different  
from how OS X does things, and could have major ramifications. If you want to  
render window contents via OpenGL, you're going to probably have to keep window  
buffers in graphics memory. In contrast, OS X appears to use the CPU to draw  
window contents. That means they can keep window buffers in AGP memory, which  
is much more plentiful, and faster for the CPU to draw into anyway.  
  
3) How is current hardware going to like it? Consumer level stuff is fast, but  
has a history of not handling concurrency well. It sounds like you want each  
app to use Cairo, preferably via the OpenGL back-end. The simplest model would  
be to give each app its own OpenGL context, but I have a feeling that current  
hardware would really not like that at all.   
  
4) This is probably more long-term, but how's compression going to be handled?   
For people running at high-resolutions, 8MB or larger windows are going to add  
up quickly. For them, compression is a major win. I don't think any mainstream  
3D hardware supports lossless texture compression (maybe the newest GeForce FX  
5950), so you'd have to do it via the CPU. But if your window buffers are in  
graphics memory, this operation will be abysmally slow. Texture download rates  
are 10-20 megabytes per second, even on a high-end Quadro. If OS X does keep  
windows in AGP memory, they've got things much easier, because they can  
compress windows in main memory then upload textures, which is literally a 100x  
faster operation.   
 
Sincerely, 
    Rayiner H.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.