Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
getFontMetrics()在Java小程序中第一次调用时使用8000ms_Java_Graphics_Applet_Awt_Fontmetrics - Fatal编程技术网

getFontMetrics()在Java小程序中第一次调用时使用8000ms

getFontMetrics()在Java小程序中第一次调用时使用8000ms,java,graphics,applet,awt,fontmetrics,Java,Graphics,Applet,Awt,Fontmetrics,在我的java小程序中调用getFontMetrics()需要5000毫秒到22000毫秒才能返回!后续调用似乎花费的时间可以忽略不计(0-16毫秒) 我必须承认我在一台机器上运行,它有一个简单的图形驱动程序(显卡坏了,所以我不能使用英伟达驱动程序),但是这看起来是一个简单的小程序的天文性能。p> 有人知道这是什么原因吗?我在stackoveflow上也遇到过同样的问题,但似乎没有令人满意的答案。 我在eclipse中运行这个,但在IE、Mozilla和Chrome中运行会产生相同的延迟 SSC

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

<>我必须承认我在一台机器上运行,它有一个简单的图形驱动程序(显卡坏了,所以我不能使用英伟达驱动程序),但是这看起来是一个简单的小程序的天文性能。p> 有人知道这是什么原因吗?我在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);
    }
}

根据文档(),AWT组件只能使用逻辑字体。将字体更改为“SansSerif”为我解决了这个问题。

根据文档(),AWT组件只能使用逻辑字体。将字体更改为“SansSerif”为我解决了这个问题。

为了获得线索,如果无法在调试模式下运行小程序,那么可以从另一个线程获得通过ThreadMXBean调用getFontMetrics()的线程堆栈跟踪,以查看它“卡住”的位置。(可能在gubbinry中,它最终不得不从浏览器访问速度较慢的地方检索字体元数据???不知道这是否有帮助:它是通过网络检索字体数据吗?“有人知道这可能是什么原因吗?”很可能是代码。为了更快地获得更好的帮助,请发布一个。正如您所看到的,我已经发布了SSSCCE,非常简短!我会把ThreadMXBean弄得一团糟,谢谢。jt为了获得线索,如果无法在调试模式下运行小程序,那么可以从另一个线程获得通过ThreadMXBean调用getFontMetrics()的线程的堆栈跟踪,以查看其“卡住”的位置。(可能在gubbinry中,它最终不得不从浏览器访问速度较慢的地方检索字体元数据???不知道这是否有帮助:它是通过网络检索字体数据吗?“有人知道这可能是什么原因吗?”很可能是代码。为了更快地获得更好的帮助,请发布一个。正如您所看到的,我已经发布了SSSCCE,非常简短!我会把ThreadMXBean弄得一团糟,谢谢。J