VisualVM采样器CPU摇摆漆()怪异

时间:2012-10-30 20:48:08

标签: java swing profiling paint visualvm

我一直在分析我的swing应用程序,它是可视化的并且进行了大量的重新绘制:通过调用repaint并在paintComponent()中进行绘制。

我正在使用VisualVM并使用Sampler来查看哪些方法使用了大量的cpu。

我的很多绘画方法都在列表的顶部,毫不奇怪。

但是可以看到一个奇怪的效果,每次我启动我的应用程序并启动一个cpu示例会话时,不同的绘制方法都处于热点的顶端。

我发现这很奇怪,因为我在我的应用程序中使用完全相同的数据集。

是否有可能某些东西(可能是摆动涂料模型)弄乱了visualvm结果?

1 个答案:

答案 0 :(得分:1)

你必须记住,Swing是一个事件驱动的系统。事件不可能完全以相同的顺序发生。

此外,重绘经理受操作系统的支配。操作系统可能正在向重绘管理器发出请求,根据它自己的要求更新它的UI部分,同样,这些不太可能每次都以完全相同的方式发生。