Qt 6.8.3 with BlackBerry 10 (QNX 8 / ARMv7) patches
 
 
 
 
 
 
Go to file
Dimitar Asenov 633647334c Speed up the removal of items from a QGraphicsScene
When using a linear index, all items in a scene are stored in a QList.
While adding new items is a constant operation, removal requires a
traversal through the entire list. This is especially problematic
when the scene contains millions of items and many of them are removed,
which requires a linear search for each item, resulting in a very slow
operation. Moreover, this behavior is actually inconsistent with the
current documentation which states for the linear index:
"Adding, moving and removing items, however, is done in constant time."

With this change, the list is sorted once an item needs to be removed.
The item to be removed is then found using binary search. To reduce
the overhead of sorting the list is not sorted from scratch. First the
newly inserted items are sorted and then the two parts of the list
are merged.

[ChangeLog][QtWidgets][QGraphicsScene] Speed up the removal of items
when using the linear index.

Change-Id: I28708622605d7fb0fac656df1f9b2f2fa3136759
Reviewed-by: Andreas Aardal Hanssen <andreas@hanssen.name>
2014-09-03 16:52:17 +02:00
bin syncqt: Fix regexp capturing class names of partial specialisation 2014-07-08 16:12:44 +02:00
config.tests Remove the last remnants of iWMMXt in Qt 2014-08-05 19:23:31 +02:00
dist Tidy up and expand QSharedPointer documentation. 2014-07-03 10:57:40 +02:00
doc Doc: Do not include the external sites by default 2014-09-03 09:40:59 +02:00
examples Use QMenuBar::addMenu in the qopenglwidget example 2014-08-25 17:40:18 +02:00
lib
mkspecs Enable rpath support on OS X and iOS platform 2014-08-09 15:37:39 +02:00
qmake qmake: Don't make rpaths starting with @ or $ absolute 2014-08-09 15:37:32 +02:00
src Speed up the removal of items from a QGraphicsScene 2014-09-03 16:52:17 +02:00
tests ssl: check critical certificate extensions 2014-09-03 16:10:45 +02:00
tools Make HarfBuzz-NG the default shaper on all platforms 2014-08-20 10:10:40 +02:00
util Mark all QChar static functions as [[gnu::const]] 2014-07-07 03:51:43 +02:00
.gitattributes
.gitignore Add .dylib and .d to .gitignore 2014-03-29 00:40:46 +01:00
.qmake.conf Enable -Werror for all of qtbase 2013-09-04 01:50:10 +02:00
.tag
INSTALL Doc: Update links in INSTALL file 2014-01-16 20:37:25 +01:00
LGPL_EXCEPTION.txt
LICENSE.FDL
LICENSE.GPL
LICENSE.LGPL Update copyright year in LICENSE.LGPL 2014-03-31 12:36:33 +02:00
LICENSE.PREVIEW.COMMERCIAL Update LICENSE.PREVIEW.COMMERCIAL license 2013-06-03 20:04:26 +02:00
configure Fix bash syntax error in configure 2014-09-02 20:37:27 +02:00
configure.bat
header.BSD
header.FDL
header.LGPL
header.LGPL-ONLY
header.LGPL21 Added header.LGPL21 2014-08-23 07:17:35 +02:00
qtbase.pro untangle use of system vs. shell path(-list) semantics 2014-04-30 16:56:54 +02:00
sync.profile ANGLE: upgrade to 2.1~07d49ef5350a 2014-08-05 16:43:22 +02:00