rrw*_*ick 4 qt qgraphicsview qgraphicsscene
我使用QGraphicsScene来显示非常多的项目,通常超过100,000.当我调用删除场景时,需要非常长的时间才能完成,10秒或更长时间.
一些实验表明,QGraphicsScene :: clear函数是缓慢的部分.如果我先清除然后删除,则清除速度很慢但删除速度很快.
为什么QGraphicsScene析构函数/清除函数这么慢,有什么方法可以加快它的速度?
我发现问题与我的QGraphicsScene在QGraphicsView中显示的事实有关.如果我第一次调用view->setScene(0)从视图中删除我的场景,那么场景将更快地删除.
我通过使用callgrind来查明在QGraphicsScene :: clear期间调用了哪些函数,并且我看到QGraphicsView函数占用了时间.我不确定,但我怀疑QGraphicsView正在为每个已删除的对象更新自己的内容.
| 归档时间: |
|
| 查看次数: |
472 次 |
| 最近记录: |