getFontMetrics() 在 Java Applet 中首次调用时需要 8000 毫秒


在我的

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);
    }
}

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

相关内容

  • 没有找到相关文章

最新更新