- 
    
Bug
 - 
    Resolution: Done
 - 
    
  Not Evaluated                     
     - 
    None
 - 
    5.15.3
 - 
    None
 - 
    Windows 10
 
- 
        
 - 
        b016f35f94e061ee296d65dbbcb2c7c9e4a988d0 (pyside/pyside-setup/5.15)
 
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).
- 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 |