use of org.eclipse.test.performance.Performance in project eclipse.platform.swt by eclipse.
the class Test_situational method test_windowDrawing.
public void test_windowDrawing() {
PerformanceMeter meter = createMeter("Draw on a window");
Performance performance = Performance.getDefault();
performance.setComment(meter, Performance.EXPLAINS_DEGRADATION_COMMENT, "Regression due to a issue on the Releng test machine");
int samples;
for (samples = 0; samples < 10; samples++) {
int width = 640;
int height = 480;
Shell shell = new Shell(display);
shell.setLayout(new GridLayout());
Canvas c = new Canvas(shell, SWT.NONE);
GridData data = new GridData();
data.widthHint = width;
data.heightHint = height;
c.setLayoutData(data);
shell.pack();
shell.open();
while (display.readAndDispatch()) {
/*empty*/
}
try {
Thread.sleep(2000);
} catch (Exception e) {
}
while (display.readAndDispatch()) {
/*empty*/
}
Color color1 = new Color(display, 0xff, 0, 0xff);
Color color2 = new Color(display, 0, 0xff, 0xff);
int x1 = 0, y1 = height / 2, x2 = width / 2, y2 = 0;
meter.start();
GC gc = new GC(c);
for (int i = 0; i < 6000; i++) {
x1 = (x1 + 5) % width;
y1 = (y1 + 5) % height;
x2 = (x2 + 5) % width;
y2 = (y2 + 5) % height;
gc.setLineStyle(SWT.LINE_SOLID);
gc.drawLine(x1, y1, x2, y2);
gc.setForeground((i & 1) == 0 ? color1 : color2);
gc.setBackground((i & 1) == 0 ? color1 : color2);
gc.fillRectangle(x1, y1, 200, 200);
gc.drawRoundRectangle(x2, y2, 200, 200, 50, 50);
gc.setLineStyle(SWT.LINE_DASHDOT);
gc.drawLine(x2, y1, x1, y2);
}
gc.dispose();
meter.stop();
shell.dispose();
color1.dispose();
color2.dispose();
while (display.readAndDispatch()) {
/*empty*/
}
}
disposeMeter(meter);
}
use of org.eclipse.test.performance.Performance in project eclipse.platform.swt by eclipse.
the class Test_situational method test_createWidgets.
public void test_createWidgets() {
PerformanceMeter meter = createMeter("Create composites and widgets");
int samples;
Performance performance = Performance.getDefault();
performance.tagAsGlobalSummary(meter, "Create composites and widgets", Dimension.ELAPSED_PROCESS);
for (samples = 0; samples < 10; samples++) {
Shell shell = new Shell(display);
shell.setLayout(new FillLayout());
meter.start();
for (int i = 0; i < 50; i++) {
Composite c = new Composite(shell, SWT.NONE);
for (int j = 0; j < 10; j++) {
new Button(c, SWT.PUSH);
new Label(c, SWT.NONE);
new Scale(c, SWT.NONE);
new ProgressBar(c, SWT.NONE);
new List(c, SWT.NONE);
new Text(c, SWT.SINGLE);
new Text(c, SWT.MULTI);
new Slider(c, SWT.NONE);
new Tree(c, SWT.NONE);
new Table(c, SWT.NONE);
new TabFolder(c, SWT.NONE);
new Group(c, SWT.BORDER);
new Composite(c, SWT.NONE);
}
}
meter.stop();
shell.dispose();
while (display.readAndDispatch()) {
/*empty*/
}
}
disposeMeter(meter);
}
use of org.eclipse.test.performance.Performance in project eclipse.platform.swt by eclipse.
the class SwtPerformanceTestCase method createMeter.
protected PerformanceMeter createMeter(String id) {
Performance performance = Performance.getDefault();
String scenarioId = "org.eclipse.swt.test." + id;
PerformanceMeter meter = performance.createPerformanceMeter(scenarioId);
performance.tagAsSummary(meter, id, Dimension.ELAPSED_PROCESS);
return meter;
}
use of org.eclipse.test.performance.Performance in project eclipse.platform.swt by eclipse.
the class SwtPerformanceTestCase method createMeterWithoutSummary.
protected PerformanceMeter createMeterWithoutSummary(String id) {
Performance performance = Performance.getDefault();
String scenarioId = "org.eclipse.swt.test." + id;
PerformanceMeter meter = performance.createPerformanceMeter(scenarioId);
return meter;
}
Aggregations