Michael Schnell wrote:
On 02/04/2014 04:02 PM, Reimar Grabowski wrote:
You can talk to the GPU from different threads (with a little
overhead) but you actually gain nothing, because of how the drivers work.
Very wrong, IMHO.
There is a lot to do for the CPU between the user programmer's code
calls an Language RTL- (LCL-) or Operating System (Widget Set-,
Windowing-System-, X-) API and the point where the driver is called.
Multithreading this code will speed up things a lot on a multicore
engine. (And the user programmer can't do anything to that but just
define the threads and do the calls within them ... or - as my
colleagues did - split up the application in multiple programs.)
I think a realistic question is how close can multiple threads get to a
form without fouling up the LCL or widget set.
If it were possible- and I mean provably possible here, not "works most
of the time"- for a background thread to prepare the graphical rendition
of an object (or possibly something like a TFrame) with the main thread
marshalling the GUI then there might be a useful performance gain.
But the LCL isn't in a position to try to hack around underlying
limitations of the widget set and X.
--
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