int i=0;
if(i==0 && plot_signal_1_flag){
if(!Oscill.dark_mode_flag)
e.gc.setForeground(Oscill.display.getSystemColor(SWT.COLOR_BLUE));
else
e.gc.setForeground(Oscill.display.getSystemColor(SWT.COLOR_CYAN));
if(lines_or_dots_flag==0 || lines_or_dots_flag==2)
e.gc.drawPolyline( (int[])vector_list.get(i) );
/*
if((lines_or_dots_flag==1 || lines_or_dots_flag==2) && !last_dot_only_flag){
if(!Oscill.dark_mode_flag)
e.gc.setBackground(Oscill.display.getSystemColor(SWT.COLOR_BLUE));
else
e.gc.setBackground(Oscill.display.getSystemColor(SWT.COLOR_CYAN));
for (int ii = 0; ii < ((int[])vector_list.get(i)).length; ii += 2) {
int xp = ((int[])vector_list.get(i))[ii];
int yp = ((int[])vector_list.get(i))[ii+1];
if(dot_type_flag==0)
e.gc.fillOval(xp - dot_radius, yp - dot_radius, dot_radius * 2, dot_radius * 2);
else if(dot_type_flag==1)
e.gc.drawOval(xp - dot_radius, yp - dot_radius, dot_radius * 2, dot_radius * 2);
else if(dot_type_flag==2)
e.gc.fillRectangle(xp - dot_radius, yp - dot_radius, dot_radius * 2, dot_radius * 2);
else if(dot_type_flag==3)
e.gc.drawRectangle(xp - dot_radius, yp - dot_radius, dot_radius * 2, dot_radius * 2);
}
}
else if((lines_or_dots_flag==1 || lines_or_dots_flag==2) && last_dot_only_flag){
if(XY_plot_flag || XY_plot_time_axis_flag){
if(!Oscill.dark_mode_flag) {
e.gc.setForeground(Oscill.display.getSystemColor(SWT.COLOR_BLACK));
e.gc.setBackground(Oscill.display.getSystemColor(SWT.COLOR_BLACK));
}
else {
e.gc.setForeground(Oscill.display.getSystemColor(SWT.COLOR_WIDGET_FOREGROUND));
e.gc.setBackground(Oscill.display.getSystemColor(SWT.COLOR_WIDGET_FOREGROUND));
}
}
else {
if(!Oscill.dark_mode_flag)
e.gc.setBackground(Oscill.display.getSystemColor(SWT.COLOR_BLUE));
else
e.gc.setBackground(Oscill.display.getSystemColor(SWT.COLOR_CYAN));
}
int last_x = ((int[])vector_list.get(i)).length-2;
int xp = ((int[])vector_list.get(i))[last_x];
int yp = ((int[])vector_list.get(i))[last_x+1];
if(dot_type_flag==0)
e.gc.fillOval(xp - dot_radius, yp - dot_radius, dot_radius * 2, dot_radius * 2);
else if(dot_type_flag==1)
e.gc.drawOval(xp - dot_radius, yp - dot_radius, dot_radius * 2, dot_radius * 2);
else if(dot_type_flag==2)
e.gc.fillRectangle(xp - dot_radius, yp - dot_radius, dot_radius * 2, dot_radius * 2);
else if(dot_type_flag==3)
e.gc.drawRectangle(xp - dot_radius, yp - dot_radius, dot_radius * 2, dot_radius * 2);
}
*/
}
< /code>
Код запускается в Canvas Paintlistener в SWT и является частью большей функциональности в нем с фильтрацией и т. Д., Код ближе к концу Paintlistener. < /p>
Флаги установлены, чтобы запустить неудобный код, пока здесь (перед комментарием): < /p>
e.gc.drawPolyline( (int[])vector_list.get(i) );
< /code>
Это нормальный режим функциональности, < /p>
Представленный код имеет большую часть кода, как прокомментировано, если это не код выполняется на 6-20x медленнее в зависимости от количества точек, даже если код не работает. Почему это так?
Подробнее здесь: https://stackoverflow.com/questions/797 ... le-to-hand
Удаление неиспользованного кода повышает производительность, JIT, похоже, не может обрабатывать вложенную логику [закрыт ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Удаление неиспользованного Lookup_field, сгенерированного с маршрутизатора на просмотре
Anonymous » » в форуме Python - 0 Ответы
- 2 Просмотры
-
Последнее сообщение Anonymous
-