[Lazarus] RFC: remove StayOnTop for splash screen

Hans-Peter Diettrich DrDiettrich1 at aol.com
Wed Mar 3 04:28:41 CET 2010


Mattias Gaertner schrieb:

>> With multiple editor windows, the files must be kept (and parsed...) in 
>> their own pool, separate from the SynEdit viewers.
> 
> Why do you think this is needed?

For simplicity, when multiple SynEdits can show the same file.

> AFAIK I'm the only one that has provided some profiler output and it
> showed that the synedit scanner is not a big number. The bigger
> limitation is the visual controls (pagecontrol, pages).

In a simple approach the controls should not have any impact on the
performance. Since the tab clients are all of the same type (SynEdit), a
  single (visible) client control and a separate tab control would be
sufficient. When multiple SynEdits are required, all but the active one
can be hidden (see my notebook-docking approach).

>>> Then again. My PC is about 3 years old, with an average of 10 - 20 
>>> SynEdits, it takes 1 to 2 seconds of parsing. Opening a 100 files on 
>>> loading of the IDE may be a legitimate action, and may have good 
>>> reasons, and certainly can be justified by personal choise => but how 
>>> many people are affected by it?
>> That depends on the meaning of "open". The filenames can be imported 
>> from a project or desktop layout file, into the file pool. Actual 
>> loading can be deferred until the files really are required in the IDE.
> 
> "Open" is here: in the source editor.
> Of course the IDE handles hundreds or thousands of files in the
> background.

What's the difference?

>> Even if newer machines have enough power to process a huge number of 
>> files within a few seconds, I'd take care for users with old equipment - 
>> who else would do, if not Lazarus? Virtual machines also can have less 
>> RAM, and performance can become very poor once such a system starts 
>> swapping.
> 
> The source editor mem to disk ratio is about 1:6. For example opening
> 5mb (150kloc) of sources needs 30mb of RAM.

That looks acceptable, also on small systems.


> They are parsed only once and only because the user wanted the file to
> be open in the source editor. I still see no reason why someone wants
> to always open a hundred files in the source editor.

Me2, but I frequently found 30+ open files when exploring the Lazarus
project. When the tabs are not closed manually, they will be reopened at
the next start.



>> I just don't understand what you mean. The SynEdits should *perform* 
>> edit commands, but the *detection* of keycodes is the job of the 
>> framework (IDE).
> 
> It does for other commands. And since synedit already can handle
> keys on its own, the IDE just tells synedit which key code should do
> what.

That's not in accordance with MDI nor MVC. You oberserved the overhead
yourself, that results from a deviation from accepted designs.

DoDi





More information about the Lazarus mailing list