[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[List Home]
|
[platform-swt-dev] SWT Performance suggestion
|
- From: Paul Anderson <paul-anderson@xxxxxxxxxx>
- Date: Thu, 28 Dec 2006 15:41:56 +0100
- Delivered-to: platform-swt-dev@eclipse.org
Hi All,
I'm embarking on creating a graphical tool and have chosen to base it
on SWT, performance will be very important as the display may contain up to
a million lines. In my early experimentation I profiled some code and
noticed that before and after each native call to a graphic primitive such
as _gdk_draw_line there is a Lock.lock and Lock.unlock.
Would it be possible to add to SWT a new drawing method that allows
me to construct an array of ints that represent a list of drawing
instructions that are sent in there entirety down to the native code for
execution, therefore eliminating the repeated thunking, locks/unlocks and
JNI round trips, there maybe also efficiencies to be had in the native
code. For example:
int[] drawList = new int[19];
int index=0;
drawlist[index++] = SWT.DRAW_LINE;
drawlist[index++] = 0;
drawlist[index++] = 0;
drawlist[index++] = 100;
drawlist[index++] = 100;
drawlist[index++] = SWT.SET_FOREGROUND;
drawlist[index++] = 255;
drawlist[index++] = 255;
drawlist[index++] = 255;
drawlist[index++] = SWT.DRAW_LINE;
drawlist[index++] = 0;
drawlist[index++] = 100;
drawlist[index++] = 100;
drawlist[index++] = 0;
drawlist[index++] = SWT.DRAW_LINE;
drawlist[index++] = 100;
drawlist[index++] = 100;
drawlist[index++] = 0;
drawlist[index++] = 100;
GC.drawList(drawList);
Paul Anderson
IBM Systems and Technology Group Lab Services
Home Office:+31-20-513-7388, Home Office:+31-70-362-9501,
Mobile:+31-651788098, paul-anderson@xxxxxxxxxx
Try Gentoo Linux (www.gentoo.org)