On Sun, 23 May 2010 18:47:08 +0800 Brad Campbell <[email protected]> wrote:
> Mattias Gaertner wrote: > >> > >> There has to be a faster way to get data to the screen in a cross-platform > >> fashion (I'm developing > >> on Linux but ultimately I'll be compiled for OSX and Win32). > > > > Paint onto a memory image and then draw that. > > > > As memory image you can use TBitmap which has comfortable fonts, but > > is not the fastest. > > > > So, taking into account your comment "is not the fastest" I thought I'd give > a plain TBitmap a try. > It's by _far_ the fastest I've tried yet. So fast in fact that I really can't > time it using > Millisecondsbetween(). Amazing. Indeed. Can you provide the benchmark source? > I have 2 TBitmaps assigned globally. One I pre-prepare with my background > (stuff, graticule and > other lines) every time there is a resize. > > In the OnPaint() handler I copy the contents of the background TBitmap to the > foreground TBitmap, > then draw a couple of thousand lines on it before copying it to the canvas of > a panel (I'm using a > TPanel as the display component) using Panel.Canvas.Copy() to copy the canvas > from the foreground > bitmap. I can't believe how fast it is. > > Best of all, it requires no new components or packages :) :) Mattias -- _______________________________________________ Lazarus mailing list [email protected] http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
