Recent

Author Topic: lazarus synedit  (Read 5998 times)

pluggie

  • Newbie
  • Posts: 1
lazarus synedit
« on: November 21, 2004, 03:24:57 am »
synedit in lazarus seems to go extremely over the top with repainting on

i give some test code below to demonstrate this by drawing over the synedit so you cans ee th replainting differences in delphi and lazarus
(yes i do play dirty to get at the synedits canvas here)

there is noticeable slowness in the lazarus ide on some linux systems: linux running on vmware seems to do it in my experiance so does linux running on some hardware setups i belive this issue is the cause (though i haven't got round to playing with my test code on linux yet)

i have found the slowdown on all three of the linux systems i have tried lazarus on theese were
vmware using its own X server running a heavilly upgraded knoppix hdinstall (i think knoppix 3.1 based but im unsure) using the vmware X server
vmware using remote X to cygwin-xfree86 on the host using the same os install as above
a duron 800 running a heailly upgraded knoppix 3.1 (this one im sure about) hdinstall with ati 128 graphics which i belive were running using a framebuffer driver but im unsure on this

the test code follows you are expected to put a synedit and a button on the form then double click on the button and paste this in place of its event handler

type
  tgetatcanvas=class(tsynedit)
  public
    property canvas;
  end;
 
procedure TForm1.Button1Click(Sender: TObject);
begin
  tgetatcanvas(synedit1).canvas.rectangle(0,100,100,200);
end;

Lightning

  • Sr. Member
  • ****
  • Posts: 422
lazarus synedit
« Reply #1 on: November 21, 2004, 03:06:27 pm »
You're not the only one that noticed SynEdit is slow.
It seems the painting is done more than needed even on windows.
I tested an app i made that uses synedit in Delphi and scrolling is much faster and consumes less CPU than the Lazarus editor.
Please report a bug/wish.
The future must be... Fast and OpenSource so...
Think Open and Lightning Fast!

Marc

  • Administrator
  • Hero Member
  • *
  • Posts: 2645
lazarus synedit
« Reply #2 on: November 22, 2004, 12:30:12 pm »
Synedit drawin is highly optimized. To be able to draw on non win32 platforms we had to mimic some win32 api calls. This isn't optimal yet and has no high priority to fix.
This is a drawback when using a multiplatform solution.
//--
{$I stdsig.inc}
//-I still can't read someones mind
//-Bugs reported here will be forgotten. Use the bug tracker

Lightning

  • Sr. Member
  • ****
  • Posts: 422
lazarus synedit
« Reply #3 on: November 22, 2004, 09:03:37 pm »
Yes i guess it's not a priority, it works :) !!!
Keep up the good work.
The future must be... Fast and OpenSource so...
Think Open and Lightning Fast!

 

TinyPortal © 2005-2018