]> sigrok.org Git - pulseview.git/blobdiff - pv/views/trace/analogsignal.cpp
Use multiple drawLine() calls instead of drawPolyline()
[pulseview.git] / pv / views / trace / analogsignal.cpp
index 60ba2ca9831b0cd94fc95ea85d93156d771ffe06..3430ab3cf48eb6996ca0cd52901c1d9c884aa4cb 100644 (file)
@@ -444,7 +444,9 @@ void AnalogSignal::paint_trace(QPainter &p,
        }
        delete[] sample_block;
 
-       p.drawPolyline(points, points_count);
+       // QPainter::drawPolyline() is slow, let's paint the lines ourselves
+       for (int64_t i = 1; i < points_count; i++)
+               p.drawLine(points[i - 1], points[i]);
 
        if (show_sampling_points) {
                if (paint_thr_dots) {