mirror of
https://git.vladimir.cc/vladimir/ewsdr.git
synced 2026-08-25 18:43:51 +00:00
chore: strip temporary PerfLog instrumentation
Профилирование завершено (кадр спектра 8.3мс -> 1.7мс, UI 45% -> 26% ядра): удаляем PerfLog.pas, doc/PERF_PROFILING.md и все // PERF-замеры из WDSPEngine/HPSDRNetwork/PlutoBackend/AudioOutput/SpectrumView(+GL)/ WaterfallViewOpengl/WidebandView/MainForm. Сами оптимизации (full-raw рендерер, дворд-блендеры, порог бэндплана) остаются. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -37,7 +37,6 @@ uses
|
||||
WidebandView,
|
||||
StatusBar,
|
||||
PlatformUtils,
|
||||
PerfLog, // ВРЕМЕННО (perf/cpu-profiling): зонные CPU-таймеры
|
||||
WinFirewall,
|
||||
BoardUtils, WisdomBuilder, UISync,
|
||||
FlatEdit, FMRepeater,
|
||||
@@ -3169,10 +3168,7 @@ var
|
||||
PeakTarget, MinTarget: Double;
|
||||
PeakDiff, MinDiff: Double;
|
||||
PeakAlpha, MinAlpha: Double;
|
||||
PerfT0: Int64; // PERF
|
||||
begin
|
||||
PerfT0 := PerfNow; // PERF
|
||||
try
|
||||
if not FController.FRunning then
|
||||
begin
|
||||
if PbSMeterRight <> nil then PbSMeterRight.Invalidate;
|
||||
@@ -3226,9 +3222,6 @@ begin
|
||||
else
|
||||
SetStatusText(5, 'TX idle');
|
||||
end;
|
||||
finally
|
||||
PerfAdd(pzUiMeterTick, PerfT0); // PERF: тик метра целиком (10 Гц)
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TMainForm.SpectrumTimerTick(Sender: TObject);
|
||||
@@ -3236,10 +3229,7 @@ var
|
||||
NowTick: QWord;
|
||||
ElapsedTick: QWord;
|
||||
I: Integer;
|
||||
PerfT0, PerfTz: Int64; // PERF
|
||||
begin
|
||||
PerfT0 := PerfNow; // PERF
|
||||
try
|
||||
// Синхронизируем размеры если размер панели изменился (после ресайза).
|
||||
// Важно: проверяем только видимые панели — когда спектр скрыт,
|
||||
// PbSpectrum.Height может быть ненулевым при FSpectrumHeight=0,
|
||||
@@ -3312,16 +3302,13 @@ begin
|
||||
// Обновляем оверлей если видим
|
||||
if Assigned(FVfoOverlay) and FVfoOverlay.Visible then
|
||||
begin
|
||||
PerfTz := PerfNow; // PERF
|
||||
FVfoOverlay.UpdateSMeter(FController.FLastSMeter);
|
||||
FVfoOverlay.UpdateVfo(FController.FVfoA);
|
||||
PushVfoOverlayExtState;
|
||||
PositionVfoOverlay;
|
||||
PerfAdd(pzUiVfoOverlay, PerfTz); // PERF: обновление главного VFO-флага
|
||||
end;
|
||||
if Length(FSliceFlags) > 0 then
|
||||
begin
|
||||
PerfTz := PerfNow; // PERF
|
||||
PositionSliceFlags; // держим слайс-флаги на частоте
|
||||
// S-метр слайсов троттлим до ~10 Гц: каждое изменение метра = софтовый
|
||||
// ре-рендер флага (дорого), 60 Гц там не нужно.
|
||||
@@ -3332,7 +3319,6 @@ begin
|
||||
if FSliceFlags[I] <> nil then
|
||||
FSliceFlags[I].UpdateSMeter(FController.SliceSMeter(FSliceFlags[I].SliceId));
|
||||
end;
|
||||
PerfAdd(pzUiSliceFlags, PerfTz); // PERF: позиционирование + S-метры слайс-флагов
|
||||
end;
|
||||
// Панорама и водопад теперь рисуются независимо по факту новых кадров.
|
||||
// Это лучше совпадает с Thetis: маленький FFT даёт новые строки чаще.
|
||||
@@ -3399,14 +3385,7 @@ begin
|
||||
// Исходящее зеркало состояния + спектр/водопад в web — в адаптере (всё из
|
||||
// FController, включая последний кадр пикселей). Сервер сам гейтит по FRunning.
|
||||
if Assigned(FWebAdapter) then
|
||||
begin
|
||||
PerfTz := PerfNow; // PERF
|
||||
FWebAdapter.PushState;
|
||||
PerfAdd(pzUiWebPush, PerfTz); // PERF: web-зеркало состояния + кадры клиентам
|
||||
end;
|
||||
finally
|
||||
PerfAdd(pzUiSpectrumTick, PerfT0); // PERF: тик спектра целиком (кадровый таймер)
|
||||
end;
|
||||
end;
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
Reference in New Issue
Block a user