Il 05/09/2017 22:51, Sven Barth via Lazarus ha scritto:

It is however solved if you add a "Yield;" after the Synchronize call.
So my suspicion is that the scheduling of Mac OS X is somehow messing
things up. Either the scheduling is favoring the one thread while it
shouldn't (though even reducing the priority doesn't help) or the UI
framework of Mac OS X (and whatever else is involved in the main thread)
is so heavy weight that the timeslice of the mainthread is used up more
often than not thus leading to the read thread being scheduled much more
often.
By using Yield (or also Sleep(), but Yield is without any pause) the
thread is explicitly giving up its timeslice and that seems to be enough
here...


I changed the code following your hints and I added Yield. This is not enough, it seems that the application is a little bit more responding (I can click on Tedit and after seconds the text is highlighted) but not enough to be usable. Actually for me it works only if I add at least Sleep(1).
It is a pity that there is not a unique solution.
--
_______________________________________________
Lazarus mailing list
Lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus

Reply via email to