[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