MCPcopy Create free account
hub / github.com/RGAA-Software/GoDesk / UpdateDataSpeedChart

Method UpdateDataSpeedChart

src/client/ui/ct_statistics_panel.cpp:560–684  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

558 }
559
560 void CtStatisticsPanel::UpdateDataSpeedChart() {
561 if (!lbl_received_data_) {
562 return;
563 }
564 // data speed
565 {
566 auto recv_data_speeds = sdk_stat_->GetRecvDataSpeeds();
567 auto send_data_speeds = sdk_stat_->GetSendDataSpeeds();
568 std::map<QString, std::vector<float>> stat_value;
569 stat_value.insert({kChartSendDataSpeed, send_data_speeds});
570 stat_value.insert({kChartRecvDataSpeed, recv_data_speeds});
571 data_speed_stat_chart_->UpdateLines(stat_value);
572 if (!recv_data_speeds.empty() && !send_data_speeds.empty()) {
573 auto send_value = send_data_speeds[send_data_speeds.size() - 1] * 1024 * 1024;
574 auto recv_value = recv_data_speeds[recv_data_speeds.size() - 1] * 1024 * 1024;
575 lbl_data_speed_->setText(tcTr("id_media_data_speed")
576 + std::format("( Out[ {} ] In[ {} ])", NumFormatter::FormatSpeed(send_value), NumFormatter::FormatSpeed(recv_value)).c_str());
577 }
578 }
579
580 // network
581 {
582 std::map<QString, std::vector<float>> stat_value;
583 auto delays = sdk_stat_->GetNetDelays();
584 if (!delays.empty()) {
585 auto delay = delays[delays.size() - 1];
586 lbl_network_->setText(tcTr("id_network") + std::format(" ( Delay[ {}ms ] ) ", delay).c_str());
587 }
588 stat_value.insert({kChartNetworkDelay, delays});
589 durations_stat_chart_->UpdateLines(stat_value);
590 }
591
592 {
593 lbl_received_data_->setText(NumFormatter::FormatStorageSize(sdk_stat_->recv_data_size_).c_str());
594 lbl_video_format_->setText(sdk_stat_->video_format_.Clone().c_str());
595 lbl_video_color_->setText(sdk_stat_->video_color_.Clone().c_str());
596 lbl_sent_data_->setText(NumFormatter::FormatStorageSize(sdk_stat_->send_data_size_).c_str());
597 lbl_video_decoder_->setText(sdk_stat_->video_decoder_.Clone().c_str());
598 lbl_video_capture_type_->setText(sdk_stat_->video_capture_type_.Clone().c_str());
599 lbl_audio_capture_type_->setText(sdk_stat_->audio_capture_type_.Clone().c_str());
600
601 lbl_audio_encode_type_->setText(sdk_stat_->audio_encode_type_.Clone().c_str());
602
603 auto hardware = Hardware::Instance();
604 std::stringstream ss;
605 if (hardware->gpus_.empty()) {
606 ss << "NO GPU";
607 }
608 else {
609 for (const auto &gpu: hardware->gpus_) {
610 ss << gpu.name_ << ";";
611 }
612 }
613 auto cpu_name = QString::fromStdString(hardware->hw_cpu_.name_).trimmed();
614 lbl_local_computer_info_->setText(std::format("{} / {} / {}", cpu_name.toStdString(), NumFormatter::FormatStorageSize(hardware->memory_size_), ss.str()).c_str());
615 lbl_local_computer_info_->setToolTip(lbl_local_computer_info_->text());
616
617 lbl_remote_computer_info_->setText(sdk_stat_->remote_pc_info_.Clone().c_str());

Callers 1

CtStatisticsPanelMethod · 0.95

Calls 5

CloneMethod · 0.80
UpdateLinesMethod · 0.45
UpdateInfoMethod · 0.45
UpdateTitleMethod · 0.45
ClearInfoMethod · 0.45

Tested by

no test coverage detected