如何测量 JComponent 中的 Java2D 绘图性能?

发布于 2024-12-17 08:26:39 字数 314 浏览 2 评论 0原文

我正在尝试以下方法:

private static class TexturePanel extends JPanel {

    @Override
    protected void paintComponent(Graphics graphics) {

        // drawing code

        // calc fps

        repaint();
    }
}

paintComponent() 中调用 repaint() 是正确的方法吗?

I'm trying something along these lines:

private static class TexturePanel extends JPanel {

    @Override
    protected void paintComponent(Graphics graphics) {

        // drawing code

        // calc fps

        repaint();
    }
}

Is calling repaint() in paintComponent() the right approach to this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

狼性发作 2024-12-24 08:26:39

如何测量 JComponent 中的 Java2D 绘图性能?

一个粗略的措施是重新绘制 Timer< /code>任意短的延迟&计算 FPS。

paintComponent() 中调用 repaint() 是正确的方法吗?

不,不,不是。 paintComponent() 没问题,但不要在方法内触发 repaint()。有关一些提示,请参阅 Java 教程的执行自定义绘制课程。

如果您无法从中解决问题,我建议您准备并发布您尽最大努力的 SSCCE

How to measure Java2D drawing performance in a JComponent?

A crude measure is to give the repaint Timer an arbitrarily short delay & count FPS.

Is calling repaint() in paintComponent() the right approach to this?

No. No it isn't. paintComponent() is fine, but don't trigger repaint() from within the method. See the Performing Custom Painting Lesson of the Java Tutorial for some tips.

If you cannot get it sorted from that, I suggest you prepare and post an SSCCE of your best effort.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文