[Lazarus] RFC: remove StayOnTop for splash screen

Flávio Etrusco flavio.etrusco at gmail.com
Mon Mar 1 16:14:10 CET 2010


On Mon, Mar 1, 2010 at 6:31 AM, Mattias Gaertner
<nc-gaertnma at netcologne.de> wrote:
> On Mon, 1 Mar 2010 05:55:43 -0300
> Flávio Etrusco <flavio.etrusco at gmail.com> wrote:
>
>> >>
>> >> That's another story. I'm not proposing to remove the splash screen
>> >> (actually Paul taught there's already a parameter or setting to remove
>> >> it. i'm proposing is simply to remove the stayontop, which serves no
>> >> purpose...
>> >> The delay seems to be caused by codetools loading the files...
>> >
>> > Why do you think so?
>> >
>> > Mattias
>> >
>>
>> I guess you're asking about the codetools part? TBH it's a wild guess.
>> It takes much longer when the active project is Lazarus and I have
>> several files open and it's waaaay faster on warm reload/the files are
>> cached.
>
> Maybe you have enabled Form editor / open designer on open unit?
>
> When I start the IDE with a hundred files open then I get the following
> from gprof. As you can see codetools is hardly measurable. It is
> as expensive as loading the splash image (less than 2%).
> Synedit needs some optimizations.
> Please test too and see what you get.
>
>
>  6.94      0.10     0.10  7717033     0.00     0.00  SYNEDITKEYCMDS_TSYNEDITKEYSTROKE_$__GETCOMMAND$$TSYNEDITORCOMMAND
>  4.86      0.17     0.07                             CLASSES_TFPLIST_$__GET$LONGINT$$POINTER
>  4.17      0.23     0.06                             SYSUTILS_COMPAREMEMRANGE$POINTER$POINTER$LONGWORD$$LONGINT
>  3.47      0.28     0.05  7717033     0.00     0.00  SYNEDITKEYCMDS_TSYNEDITKEYSTROKES_$__GETITEM$LONGINT$$TSYNEDITKEYSTROKE
>  3.47      0.33     0.05                             FPC_ANSISTR_SETLENGTH
>  2.78      0.37     0.04                             LAZ_DOM_TDOMNODE_$__FINDNODE$ANSISTRING$$TDOMNODE
>  2.08      0.40     0.03   863797     0.00     0.00  SYNHIGHLIGHTERPAS_TSYNPASSYN_$__NEXT
>  2.08      0.43     0.03   268090     0.00     0.00  SYNHIGHLIGHTERPAS_TSYNPASSYN_$__KEYHASH$$LONGINT
>  2.08      0.46     0.03                             FPC_PUSHEXCEPTADDR
>  2.08      0.49     0.03                             fpc_ansistr_decr_ref
>  1.39      0.51     0.02   237132     0.00     0.00  SYNEDITTEXTTRIMMER_TSYNEDITSTRINGTRIMMINGLIST_$__GET$LONGINT$$ANSISTRING
>  1.39      0.53     0.02      319     0.06     0.53  KEYMAPPING_TKEYCOMMANDRELATIONLIST_$__ASSIGNTO$TSYNEDITKEYSTROKES$TCUSTOMFORMCLASS
>  1.39      0.55     0.02                             CLASSES_TCOMPONENT_$__NOTIFICATION$TCOMPONENT$TOPERATION
>  1.39      0.57     0.02                             CLASSES_TLIST_$__GET$LONGINT$$POINTER
>  1.39      0.59     0.02                             CLASSES_TLIST_$__GETCOUNT$$LONGINT
>  1.39      0.61     0.02                             CWSTRING_CONCATCHARTOANSISTR$CHAR$ANSISTRING$LONGINT
>  1.39      0.63     0.02                             CWSTRING_UPPERANSISTRING$ANSISTRING$$ANSISTRING
>  1.39      0.65     0.02                             FPC_SETJMP
>  1.39      0.67     0.02                             FPIMAGE_TFPCUSTOMIMAGE_$__SETCOLOR$LONGINT$LONGINT$TFPCOLOR
>  1.39      0.69     0.02                             FPREADPNG_TFPREADERPNG_$_DODECOMPRESS_DECODE
>  1.39      0.71     0.02                             SOURCELOG_TSOURCELOG_$__BUILDLINERANGES
>
>
> Mattias
>

I'll try to run with gprof, thanks. Also in next time I make such claims ;-)
FTR: No, I have "open designer on open unit" disabled.
Did you try this on without files being in cache?
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...

Best regards,
Flávio




More information about the Lazarus mailing list