1

在我的 Java 小程序中调用需要getFontMetrics()5000 毫秒到 22000 毫秒才能返回!随后的调用似乎花费的时间可以忽略不计(0-16ms)

我不得不承认我在一台带有基本图形驱动程序的机器上运行(显卡坏了,所以我不能使用 Nvidia 驱动程序),但是,这似乎是对一个原本简单的小程序的天文性能打击!

有谁知道可能是什么原因造成的?我在 stackoveflow 上遇到过其他具有相同问题的示例,但似乎没有令人满意的答案。我在 Eclipse 中运行它,但在 IE、Mozilla 和 Chrome 中运行会产生相同的延迟。

SSCCE 应要求:

import java.applet.Applet;
import java.awt.Font;
import java.awt.FontMetrics;
import java.awt.Graphics;
import java.awt.Graphics2D;

public class fontProblems extends Applet{
    Graphics2D g;
    FontMetrics fm;
    Font font=new Font("Roman", Font.BOLD, 36);
    public void paint(Graphics g2){
        g = (Graphics2D) g2;
        fm = g.getFontMetrics(font);
    }
}
4

1 回答 1

1

根据文档(http://docs.oracle.com/javase/7/docs/api/java/awt/Font.html),AWT组件只能使用逻辑字体。将字体更改为“SansSerif”为我解决了这个问题。

于 2014-05-15T18:31:10.177 回答