Witam
Chodzi o sytuacje kiedy w zdarzeniu OnBeforeCellPaint (lub podobnym) komponentu VirtualStringTree kolorujemy tlo wiersza lub zmieniamy chocby kolor fonta w danym wierszu.
Np taki fragment kodu, kolorujacy Node jesli jest rozwinieta
if Sender.Expanded[Node] then begin
TargetCanvas.Brush.Color := clinfobk;
TargetCanvas.FillRect(CellRect);
end;
Uzycie CPU przez aplikacje rosnie od razu do 99%, po wylaczeniu opcji kolorowania aplikacja zachowuje sie normalnie, praktycznie zerowe uzycie CPU.
Ma to sens poniewaz za kazdym "malowaniem' komorki CPU musi sprawdzic warunek a dzieje sie to bez przerwy, stad takie uzycie CPU.
Czy jednak nie mozna tego jakos zniwelowac?
przeciez zadna aplikacja, ktora posiada kolorowanie wierszy nie uzywa 100% CPU