2

我有一个在 Linux 上使用 Qt4.4.3 用 C++ 编写的应用程序。

做一些基准测试,我创建了大量的矩形并比较了绘制各种线条样式的性能差异。性能最差的是“虚线”线条样式,“虚线”线条样式要快得多。

在我看来,这些不应该有太大差异。

这是预期的行为还是应该报告的错误?

更多细节:

我使用以下伪 Tcl 命令创建了 100K 矩形:

for {set i 0} {$i < 100000} {incr i} {
  RectCreate [Box [expr 0.001 * $i] 0 [expr 0.001 * ($i + 1)] 100]
}

矩形只绘制了轮廓。我测量了不同线条样式的重绘时间。例如对于“点”线型:

以下是我在 VNC 显示器上看到的时间:

solid line:     0.7 sec
dots:          17.0 sec
dashed:         9.5 sec
longer dashes:  5.7 sec

在本地显示器上:

solid line:     0.1 sec
dots:           8.9 sec
dashed:         5.7 sec
longer dashes:  3.5 sec
4

1 回答 1

2

图形堆栈过于复杂,无法简单回答。可能“直观”的事情在实践中会完全不同。

不是答案,但我建议您查看此博客,了解有关 Qt/KDE 图形以及事情并不像看起来那么明显的一些见解。

http://zrusin.blogspot.com/search?q=performance

于 2010-08-02T14:25:06.020 回答