2014-07-26 4 views
0

Я пытаюсь нарисовать текст на моем экране так:Почему setFont занимает так много времени?

System.out.println(System.currentTimeMillis() + " 2.2 ");  //debug 
    g.setFont(thisfont); 
    System.out.println(System.currentTimeMillis() + " 2.2.1 "); //debug 
    g.drawString("hallo", x, y); 
    System.out.println(System.currentTimeMillis() + " 2.2.2 "); //debug 
    g.drawString("hallo2", x, y2); 
    System.out.println(System.currentTimeMillis() + " 2.2.3 "); //debug 

в соответствии с моей отладкой панели на время, в которое между установкой шрифта и первым шнурком получения нарисованной проблемой (9 секунд). вот текст на панели отладки:

1406377881939 2.2 
1406377881939 2.2.1 
1406377890799 2.2.2 
1406377890800 2.2.3 

почему это так долго, я делаю что-то неправильно, или это только что SetFont не работает хорошо в сочетании с шнурком?

+0

сколько времени он принимает? – Braj

+0

занимает около 5 секунд ..? –

+1

9 secs, если быть точным – Lex

ответ

0

Это неэкономично создавать новый шрифт каждый раз, когда вызывается paint() (что бывает очень много), вы можете перенести это на свой конструктор. и шрифт должен быть изменен на некоторые ортодоксальные шрифты (Arial, Calibri и т.д.)

попробовать g.setFont(new Font("Arial", Font.PLAIN, 8))

read more...

Смежные вопросы