From 309a08373b9c567614445ef010b77328eb5b4060 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcin=20=C5=9Alusarz?= Date: Tue, 19 Jan 2021 16:57:55 +0100 Subject: [PATCH] Put units in table header instead of each row. --- .../Windows/PerformanceCounterViewer.cpp | 43 +++++++++++-------- 1 file changed, 24 insertions(+), 19 deletions(-) diff --git a/qrenderdoc/Windows/PerformanceCounterViewer.cpp b/qrenderdoc/Windows/PerformanceCounterViewer.cpp index 83d70c436..9bcd1b946 100644 --- a/qrenderdoc/Windows/PerformanceCounterViewer.cpp +++ b/qrenderdoc/Windows/PerformanceCounterViewer.cpp @@ -164,24 +164,6 @@ QTableWidgetItem *PerformanceCounterViewer::MakeCounterResultItem(const CounterR break; } - switch(description.unit) - { - case CounterUnit::Bytes: returnValue += lit(" bytes"); break; - - case CounterUnit::Cycles: returnValue += lit(" cycles"); break; - - case CounterUnit::Percentage: returnValue += lit(" %"); break; - - case CounterUnit::Seconds: returnValue += lit(" ") + UnitSuffix(timeunit); break; - - case CounterUnit::Absolute: - case CounterUnit::Ratio: break; - - case CounterUnit::Hertz: returnValue += lit(" Hz"); break; - case CounterUnit::Volt: returnValue += lit(" V"); break; - case CounterUnit::Celsius: returnValue += lit(" °C"); break; - } - return new CustomSortedTableItem(returnValue, SortValue(result, description)); } @@ -223,9 +205,32 @@ void PerformanceCounterViewer::CaptureCounters() QStringList headers; headers << lit("EID"); + TimeUnit timeunit = m_Ctx.Config().EventBrowser_TimeUnit; for(const CounterDescription &cd : counterDescriptions) { - headers << cd.name; + QString unit = QString::null; + switch(cd.unit) + { + case CounterUnit::Bytes: unit = lit("bytes"); break; + + case CounterUnit::Cycles: unit = lit("cycles"); break; + + case CounterUnit::Percentage: unit = lit("%"); break; + + case CounterUnit::Seconds: unit = UnitSuffix(timeunit); break; + + case CounterUnit::Absolute: + case CounterUnit::Ratio: break; + + case CounterUnit::Hertz: unit = lit("Hz"); break; + case CounterUnit::Volt: unit = lit("V"); break; + case CounterUnit::Celsius: unit = lit("°C"); break; + } + + if(unit.isNull()) + headers << cd.name; + else + headers << lit("%1 (%2)").arg(cd.name, unit); } QMap eventIdToRow;