Michael Van Canneyt wrote:
The GUI is for use by humans. That means that there is no point
whatsoever in updating the GUI more than 10 times per second: the human
eye cannot process information faster than that, let alone that the
brain can grasp the *meaning* of what the eye has seen in such a short
time.
Designating 1 GUI thread to update the entire screen 10 times per second
should therefor a) be entirely possible with any GUI widgetset.
b) be complete overkill for any human operator.
I'm afraid I disagree. As a trivial example, the position of the mouse
pointer is updated much more often than every 100mSec, not to mention
things like animated pointers and icons. Just because a GUI invites user
interaction doesn't mean that it can't run asynchronously.
if I play a video at full HD, 1 thread handles the screen display. It
works just fine,
and probable needs to transfer a lot more data to the screen than any
normal program would have to transfer. It would be very surprising if
you would not be able to show some statistical data (or whatever) on
screen with the same hardware.
I'm afraid I disagree with that even more, since when you play a video
you're relying on hardware decompression which you can't reliably
characterise as either single- or multi-threaded. Believe me, I've got
Linux etc. on so many odd and ageing systems around here that I
regularly come up against the suppurating lacerations that were
"bleeding edge" until some developer lost interest and didn't stitch it
up, and in my experience the thing that's most likely to work is DVD
playback because the data stream is (as I understand it) sent via a
backdoor to the graphics chips bypassing most of the kernel and X.
Having said which, I'm not unreservedly siding with MichaelS's position,
since unless it completely bypassed any existing widget set (and
preferably drew directly to the framebuffer) it could be screwed at any
time by off-project developers (i.e. the Gnome, Qt or Windows teams).
--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk
[Opinions above are the author's, not those of his employers or colleagues]
--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus