Details
-
Bug
-
Resolution: Done
-
Not Evaluated
-
None
-
5.15.3
-
None
-
Windows 10
-
-
b016f35f94e061ee296d65dbbcb2c7c9e4a988d0 (pyside/pyside-setup/5.15)
Description
In the context of the PythonQwt project, I'm implementing widgets for drawing curves efficiently in pure Python (+ NumPy +Qt). This is working quite well with PyQt4 and PyQt5. Lately, I've been trying to add support for PySide2.
While optimizing a function for creating efficiently a QPolygonF object from a NumPy array, I came accross a performance issue with the QPainter.drawPolyline drawing primitive (for 1e6 points).
You will find attached a test script showing those results on my machine:
- dt[PyQt5 v5.15.0] = 19 ms
- dt[PySide2 v5.15.0] = 1115 ms (i.e. approx. 60 times slower than PyQt5)
Test script requirements : QtPy, PyQt5 or PySide2, NumPy (the latter is only used for generating the huge amount of data which is injected into the QPolygonF object).
Attachments
Issue Links
- relates to
-
PYSIDE-1540 QPainter.drawPoints performance issue
- Closed
For Gerrit Dashboard: PYSIDE-1366 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
313113,2 | Do not treat QPolygon/F as Python sequences | 5.15 | pyside/pyside-setup | Status: ABANDONED | +1 | 0 |
313267,7 | shiboken2: Allow specifying the sequence of overloads | 5.15 | pyside/pyside-setup | Status: MERGED | +2 | 0 |