How to find cause for PHP flicker

Hamish Rodda rodda at kde.org
Wed Dec 23 00:22:51 UTC 2009


On Tue, 22 Dec 2009 02:29:43 pm Milian Wolff wrote:
> On Tuesday 22 December 2009 02:35:23 Milian Wolff wrote:
> > On Monday 21 December 2009 17:52:51 Milian Wolff wrote:
> > > Hey all!
> > >
> > > I'm trying to hunt down the cause for the flickering when editing
> > >  documents, esp. declarations of variables (but not their uses).
> > >
> > > But I can't hunt it down for the life of me... The colorization is lost
> > > on (imo) totally random points. Is this done in another background
> > > thread?
> > >
> > > My wild guess is that the variable is redeclared all the time, probably
> > > because it's not in the symbol table? I'm really lost...
> >
> > OK, I finally found a hint:
> > http://mwolff.pastebin.com/f208336f9
> >
> > This is the BT that eventually leads to the flickering, i.e. the removal
> > of the range triggers a view update (which is delayed...) and will remove
> > things.
> >
> > I wonder why this range(s) are not encountered, looks like the whole
> > "recompiling" is messed up in PHP :(
> 
> I found and fixed some things, hope this was a correct/reasonable approach.
>  See also commit r1064880.
> 
> Hope this is not a huge abuse of the underlying stuff.
> 
> Though actually it kinda makes more sense now:
> 
> - build ast
> - build contexts and declarations for "global" stuff (classes, functions,
> interfaces)
> - build the rest
> - build uses
> 

I read your blog, congratulations on finding this bug :)  Kate view repaints 
are quite expensive when the entire view has to be repainted on every 
keystroke, of course.

Cheers,
Hamish.




More information about the KDevelop-devel mailing list