View previous topic :: View next topic |
Author |
Message |
mstaszew
Joined: 21 Jul 2006 Posts: 67 Location: North Carolina, USA
|
Posted: Fri Aug 11, 2006 3:18 pm Post subject: General editor performance comments |
|
|
Have any of you guys noticed less than desireable editor performance? I have not noticed anything drastic except for some slightly slow caret refreshes and key stroke handling, but nothing severe. Our users are reporting slow keyboard response with the navigation keys in particular like the arrows, PgUp, etc. Two of the developers here in the office see some very odd painting when typing from the last visible character. We are using the same app on every machine and for me the last character typing isn't an issue, but for them it has a very flickered effect which I have seen them demonstrate.
The first version that I used of EControl was 2.0 and the performance on large files (about 15000+ lines) was horrendous. That performance has improved incredibly, but it seems that there is still some work to be done. I am using the PL/SQL lexer, a TSyntTextSource with a single TSyntaxMemo linked, a find dialog linked, a replace dialog linked, TAutoCompletePopup linked, and a global TSyntaxManager for the app.
Any suggestions or comments?
Thanks. |
|
Back to top |
|
|
mstaszew
Joined: 21 Jul 2006 Posts: 67 Location: North Carolina, USA
|
Posted: Fri Aug 11, 2006 8:05 pm Post subject: |
|
|
Although I can't reproduce the problems observed by our users and other developers exactly, I can see the same painting issue if I do the following.
Paste a lot of text into the editor and place cursor at the end. Hold the backspace key. In the demo app I see a the memo flashing and painting entirely in black. In my application I see a flashing caret that will paint itself onto the screen so that 5-10 carets are visible at any given time.
Thanks. |
|
Back to top |
|
|
econtrol Site Admin
Joined: 09 Jun 2006 Posts: 202
|
Posted: Fri Aug 11, 2006 11:48 pm Post subject: |
|
|
Fixing (ecSyntMemo.pas):
Code: | procedure TCustomSyntaxMemo.WMERASEBKGND(var Message: TWMErasebkgnd);
begin
if DoubleBuffered then
inherited;
end; |
Michael. |
|
Back to top |
|
|
mstaszew
Joined: 21 Jul 2006 Posts: 67 Location: North Carolina, USA
|
Posted: Mon Aug 14, 2006 1:24 pm Post subject: |
|
|
I don't see where that did anything. I added that and rebuilt the Main demo and I still see a flashing black editor and in my application I still see the caret painting itself many times.
Thanks. |
|
Back to top |
|
|
econtrol Site Admin
Joined: 09 Jun 2006 Posts: 202
|
Posted: Wed Aug 16, 2006 6:27 am Post subject: |
|
|
Fixing (ecSyntMemo.pas):
Code: | procedure TCustomSyntaxMemo.WndProc(var Message: TMessage);
...
if (Message.Msg = WM_PAINT) and (FUpdateCount <> 0) then
begin
Dispatch(Message);
Exit;
end;
inherited;
...
end; |
Michael. |
|
Back to top |
|
|
mstaszew
Joined: 21 Jul 2006 Posts: 67 Location: North Carolina, USA
|
Posted: Wed Aug 16, 2006 6:39 pm Post subject: |
|
|
I am still seeing this in the Main demo app. I originally posted this message before knowing about Mantis for bug tracking. I'll move it over there so that I don't clog up this forum.
Thanks. |
|
Back to top |
|
|
|