【问题标题】:Record java with Fraps用 Fraps 录制 java
【发布时间】:2015-04-25 20:37:52
【问题描述】:

我正在用 Java 编写一个小游戏。我使用 Graphics2D 制作我的图形,创建一个 JPanel,覆盖它的 paint(Graphics g) - 方法,通过将其设置为 ContentPane 在 JFrame 中显示它。

效果很好。

现在我使用Fraps 来测试我的程序性能。 Fraps 显示 FPS 通常在某个角落,没问题。但是当我达到创纪录的 btton 时,java 崩溃了。在 NetBeans 控制台中显示:Java Result: -1073740771

这里有一些代码:

final JFrame window = new JFrame();
    window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    window.setExtendedState(JFrame.MAXIMIZED_BOTH);



    final JPanel myPanel = new JPanel() {

        @Override
        public void paint(Graphics g) {
            BufferedImage img = world.renderImage(new Point(getWidth(), getHeight()));
            g.drawImage(img, 0, 0, null);


        }
    };

    window.setContentPane(myPanel);
    window.setVisible(true);
    new Thread() {
        public void run() {
            while (true) {
                myPanel.repaint();
                try {
                    Thread.sleep(20);
                } catch (InterruptedException ex) {
                }

            }
        }
    }.start();

这是什么意思?我怎样才能避免这种情况?

感谢任何遮阳篷

埃里克·布伦德尔

【问题讨论】:

  • 您能发布(部分)您的项目吗?当我启动 Fraps 和一个带有一些图形的 Java 项目时,我根本看不到 FPS 值。您的游戏是否使用 OpenGL(因为 Fraps 支持 OpenGL 和 DirectX)?

标签: java swing crash jvm


【解决方案1】:

我无法重现您的问题:当我运行 Fraps 和您的项目时,我根本看不到任何 FPS 值。 (我在运行非 Java 游戏时确实会看到它们。)world.renderImage(new Point(getWidth(), getHeight())) 调用可能是关键部分。您也可以发布(一些)该代码吗?

您能否在 NetBeans 之外(从命令行或其他 IDE)运行您的应用程序来检查这是否有影响? “Java Result: [some number]”似乎与 JVM 或本机代码的崩溃有关。

为了完整起见:我在 Windows 8.1 上使用 Java 8(更新 45、64 位)(我更喜欢 IntelliJ IDEA)。

【讨论】:

    猜你喜欢
    • 2012-08-02
    • 2011-06-17
    • 2011-12-28
    • 1970-01-01
    • 2012-02-02
    • 1970-01-01
    • 2014-06-05
    • 1970-01-01
    • 2016-04-02
    相关资源
    最近更新 更多