cabana: stable FPS (#26120)

* stable FPS

* fix
old-commit-hash: 686506f400
taco
Dean Lee 3 years ago committed by GitHub
parent 9fbaafa38f
commit bc7b437266
  1. 7
      tools/cabana/canmessages.cc

@ -87,7 +87,7 @@ void CANMessages::process(QHash<QString, std::deque<CanData>> *messages) {
} }
bool CANMessages::eventFilter(const Event *event) { bool CANMessages::eventFilter(const Event *event) {
static double prev_update_sec = 0; static double prev_update_ts = 0;
// drop packets when the GUI thread is calling seekTo. to make sure the current_sec is accurate. // drop packets when the GUI thread is calling seekTo. to make sure the current_sec is accurate.
if (!seeking && event->which == cereal::Event::Which::CAN) { if (!seeking && event->which == cereal::Event::Which::CAN) {
if (!received_msgs) { if (!received_msgs) {
@ -121,8 +121,9 @@ bool CANMessages::eventFilter(const Event *event) {
} }
} }
if (current_sec < prev_update_sec || (current_sec - prev_update_sec) > 1.0 / settings.fps) { double ts = millis_since_boot();
prev_update_sec = current_sec; if ((ts - prev_update_ts) > (1000.0 / settings.fps)) {
prev_update_ts = ts;
// use pointer to avoid data copy in queued connection. // use pointer to avoid data copy in queued connection.
emit received(received_msgs.release()); emit received(received_msgs.release());
} }

Loading…
Cancel
Save