X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fviews%2Ftrace%2Fanalogsignal.cpp;h=3430ab3cf48eb6996ca0cd52901c1d9c884aa4cb;hp=599246418b1993bd74ffaf1d9c51a1e14a2b860d;hb=a47b5a3fb9912f1d6e3fcc63d59ee6cc1b5338e2;hpb=633e8ade5289eff00c7137f59269361aa547449a diff --git a/pv/views/trace/analogsignal.cpp b/pv/views/trace/analogsignal.cpp index 59924641..3430ab3c 100644 --- a/pv/views/trace/analogsignal.cpp +++ b/pv/views/trace/analogsignal.cpp @@ -319,7 +319,7 @@ void AnalogSignal::paint_fore(QPainter &p, ViewItemPaintParams &pp) void AnalogSignal::paint_grid(QPainter &p, int y, int left, int right) { - bool wasAntialiased = p.testRenderHint(QPainter::Antialiasing); + bool was_antialiased = p.testRenderHint(QPainter::Antialiasing); p.setRenderHint(QPainter::Antialiasing, false); if (pos_vdivs_ > 0) { @@ -364,7 +364,7 @@ void AnalogSignal::paint_grid(QPainter &p, int y, int left, int right) } } - p.setRenderHint(QPainter::Antialiasing, wasAntialiased); + p.setRenderHint(QPainter::Antialiasing, was_antialiased); } void AnalogSignal::paint_trace(QPainter &p, @@ -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) {