[Lazarus] RFC: remove StayOnTop for splash screen
Mattias Gaertner
nc-gaertnma at netcologne.de
Tue Mar 2 02:54:05 CET 2010
On Mon, 01 Mar 2010 22:48:12 +0000
Martin <lazarus at mfriebe.de> wrote:
> On 01/03/2010 21:12, Hans-Peter Diettrich wrote:
> > Flávio Etrusco schrieb:
> >
> >> Guess I'll have to do some work in SynEdit then. It used to be my area
> >> of expertise after all ;) But the code in Lazarus is a (almost)
> >> completely different beast, and maybe not much can be done with
> >> codefolding wihout making some concessions...
> >
> > IMO the IDE should use an cache for the SynEdits, that must contain at
> > least the currently active text file. More opened files can be parsed
> > and added to the cache later, when they are really activated. When the
> > systems runs out of memory, old entries can be removed from the cache.
> > Inactive files can be parsed in the background, when the system is idle.
>
> Well there are 2 option. Actually both can exist at the same time.
>
> 1) SynEdit scanning on idle. I had that idea for a long time already,
> but a lot more needs to change in SynEdit, before this can be done.
I just opened 219 files, which took 6 seconds. The synedit scan
takes less than a second. Half the time was spent in gtk/X
handling the tabs.
I think there is no need for an idle scan.
> 2) The IDE only opening a tab, and defer creating the SynEdit. I haven't
> looked into this.
Yes, that could save a second. wow. ;)
> 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?
I don't see how people can navigate a hundred files. Lazarus
has only shortcuts for the first ten. And for the window menu you need
a big screen with a tiny font.
> Caching, and removing? why re-invent the wheel. It has a similar effect
> than the OS doing swaping memory to swap-file...; And you have to keep a
> copy of all open files, just in case they get modified on disk, while
> they are in memory.
>
> Also having looked at the gprof numbers, the time seems to be lost while
> assigning the keycodes. Which seems to be done in a very inefficent
> manner. My guess is that the IDE-defaults/user-configs are merged with
> the SynEdit defaults, and during this probably each code is tested for
> existence (looked up) first, before potentially being added. Given that
> there are 100of key combos, which have to be iteraded a 100 times (and
> this is for each synedit...) => well (rather not so well).
>
> It get's on the todo list now (but little priority). Maybe creating just
> one merged list, and then simply clear+copy for each synedit.
I did that. Now it does not appear in gprof any more. Saves a few
percents. I doubt someone will notice.
Mattias
More information about the Lazarus
mailing list