| 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.