forked from amkovkov/GranuSightSoftware2
fix: CameraView memory leakage
This commit is contained in:
@@ -13,7 +13,7 @@ public class CameraViewModel : ViewModelBase
|
||||
{
|
||||
_cameraService = cameraService;
|
||||
_logger = logger;
|
||||
_logger.LogInformation("Initialized");
|
||||
_logger.LogInformation("{} initialized", nameof(CameraViewModel));
|
||||
}
|
||||
|
||||
public async Task<(FrameBuffer, StreamConfiguration)?> CaptureImage(int bufferId)
|
||||
|
||||
@@ -8,10 +8,10 @@ public partial class MainViewModel : ViewModelBase
|
||||
[ObservableProperty] private CameraViewModel _cameraViewModel;
|
||||
[ObservableProperty] private ResourcesViewModel _resourcesViewModel;
|
||||
|
||||
public MainViewModel(ILogger<MainViewModel> logger, ResourcesViewModel resourcesViewModel)
|
||||
public MainViewModel(ILogger<MainViewModel> logger, CameraViewModel cameraViewModel, ResourcesViewModel resourcesViewModel)
|
||||
{
|
||||
_logger = logger;
|
||||
// CameraViewModel = cameraViewModel;
|
||||
CameraViewModel = cameraViewModel;
|
||||
ResourcesViewModel = resourcesViewModel;
|
||||
_logger.LogInformation("{} initialized", nameof(MainViewModel));
|
||||
}
|
||||
|
||||
@@ -43,7 +43,6 @@ public partial class ResourcesViewModel : ViewModelBase, IDisposable
|
||||
[ObservableProperty] private ObservableCollection<Axis> _memoryUsageSeriesXAxes;
|
||||
[ObservableProperty] private ObservableCollection<ISeries> _memoryUsagePieSeries;
|
||||
|
||||
|
||||
[ObservableProperty] private int _intervalMs = 500;
|
||||
[ObservableProperty] private int _chartsHistorySize = 120;
|
||||
private readonly System.Timers.Timer _updateTimer;
|
||||
@@ -409,6 +408,7 @@ public partial class ResourcesViewModel : ViewModelBase, IDisposable
|
||||
memoryUsageValues.Add(Math.Round(snapshot.MemoryUsage.UsedMB, 2));
|
||||
while (memoryUsageValues.Count > ChartsHistorySize)
|
||||
memoryUsageValues.RemoveAt(0);
|
||||
// _logger.LogInformation("Memory leakage: {} MB/s", (memoryUsageValues.TakeLast(10).Average() - memoryUsageValues.TakeLast(20).Take(10).Average()) / 5.0);
|
||||
}
|
||||
if (MemoryUsageSeriesYAxes.Count() == 1)
|
||||
MemoryUsageSeriesYAxes.First().MaxLimit = Math.Round(snapshot.MemoryUsage.TotalMB);
|
||||
|
||||
Reference in New Issue
Block a user