From a91deca39e932a404b89030bae494588a3be4784 Mon Sep 17 00:00:00 2001 From: Dean Lee Date: Thu, 27 Apr 2023 00:54:42 +0800 Subject: [PATCH] cabana: set the capacity of points from cached events (#28032) --- tools/cabana/chart/chart.cc | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/tools/cabana/chart/chart.cc b/tools/cabana/chart/chart.cc index bd05107297..8b47374fe3 100644 --- a/tools/cabana/chart/chart.cc +++ b/tools/cabana/chart/chart.cc @@ -260,15 +260,12 @@ void ChartView::updateSeries(const cabana::Signal *sig) { s.series->setColor(getColor(s.sig)); const auto &msgs = can->events(s.msg_id); + s.vals.reserve(msgs.capacity()); + s.step_vals.reserve(msgs.capacity() * 2); + auto first = std::upper_bound(msgs.cbegin(), msgs.cend(), s.last_value_mono_time, [](uint64_t ts, auto e) { return ts < e->mono_time; }); - int new_size = std::max(s.vals.size() + std::distance(first, msgs.cend()), settings.max_cached_minutes * 60 * 100); - if (s.vals.capacity() <= new_size) { - s.vals.reserve(new_size * 2); - s.step_vals.reserve(new_size * 4); - } - const double route_start_time = can->routeStartTime(); for (auto end = msgs.cend(); first != end; ++first) { const CanEvent *e = *first;