Re: Snappy GUI response
Havoc Pennington <[email protected]>
| Newsgroups | gmane.comp.xfree86.forum |
|---|---|
| Message-ID | <[email protected]> |
On Fri, Jul 04, 2003 at 01:07:25PM -0700, Mark Vojkovich wrote: > I see alot of people saying "things would be fast if we only > had this, or that", but I know that's not going to change anything. > Direct rendered 2D doesn't solve the event problem. I'm pretty > convinced that the synchronization issues will make it worse. > We don't direct render 3D so that window moves will be smoother; > it has quite the opposite effect. Adding more complete > acceleration will help, but the core problem is still there: > people don't seem to know how to write apps to take advantage > of what X has to offer. There's no chance of application developers as a general class ever understanding X protocol or X architecture on any kind of detailed level; and I'm talking about just things like setting back pixmaps, exposes, etc. The chances of application developers understanding X server implementation or hardware issues are even less. They also don't understand how the toolkit works. Assume apps will not understand any of this, it's a fact that can't be fought. They don't understand equivalent stuff on Windows or OS X either. Only people writing very specialized apps such as games (or more accurately, game libraries) are going to bother to invest months in learning system details. Maybe a few others that are just curious. Think of a GUI builder. Put a button here, put a menu there. Not everyone uses a GUI builder but they do the equivalent by hand. Most apps are also cross-platform, and see only cross-platform APIs. So we can just assume that apps are thinking in terms of widgets, not anything lower-level than that. In short, solutions must be in the toolkit or the server and must "just work" with minimal application efforts. Anything that's more complicated for app developers than the standard cross-platform APIs won't be used. Restating your core problem, we might say: X requires app authors to understand and code in light of its details in order to write responsive apps. Windows and OS X generally do not. So what we have is a user interface issue with the X API ;-) Not convinced this is the only issue but it seems to apply to the expose-handling problem you brought up. Havoc