// and we have corresponding data available
if (show_hover_marker_ && !std::isnan(value_at_hover_pos_)) {
infotext = QString("[%1] %2 V/div")
- .arg(format_value_si(value_at_hover_pos_, SIPrefix::unspecified, 0, "V", false))
+ .arg(format_value_si(value_at_hover_pos_, SIPrefix::unspecified, 2, "V", false))
.arg(resolution_);
} else
infotext = QString("%1 V/div").arg(resolution_);
void AnalogSignal::paint_grid(QPainter &p, int y, int left, int right)
{
+ bool was_antialiased = p.testRenderHint(QPainter::Antialiasing);
p.setRenderHint(QPainter::Antialiasing, false);
if (pos_vdivs_ > 0) {
}
}
- p.setRenderHint(QPainter::Antialiasing, true);
+ p.setRenderHint(QPainter::Antialiasing, was_antialiased);
}
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) {