CPU Usage Dive by Zero Issue (Chrome Console Error Reported)
Added explicit checks in “CpuUse::UpdateCpuUse” to avoid division by zero; CPU usage and overhead are forced to 0 when times are zero Validated audio driver CPU usage in “AudioHost::getJackStatus”, replacing non‑finite results with 0
This commit is contained in:
+11
-6
@@ -140,14 +140,19 @@ namespace pipedal
|
||||
overheadTime = readTime;
|
||||
}
|
||||
|
||||
SampleT totalTime = writeTime+ readTime + processingTime;
|
||||
SampleT maxTime = waitTime+processingTime;
|
||||
|
||||
SampleT totalTime = writeTime + readTime + processingTime;
|
||||
SampleT maxTime = waitTime + processingTime;
|
||||
|
||||
float result = 100.0f*(processingTime)/(maxTime);
|
||||
float overhead = 100.0F*(overheadTime*2)/totalTime;
|
||||
float result = 0.0f;
|
||||
float overhead = 0.0f;
|
||||
if (maxTime != 0 && totalTime != 0)
|
||||
{
|
||||
std::lock_guard lock { sync};
|
||||
result = 100.0f * (processingTime) / (maxTime);
|
||||
overhead = 100.0f * (overheadTime * 2) / totalTime;
|
||||
}
|
||||
|
||||
{
|
||||
std::lock_guard lock{sync};
|
||||
currentCpuUse = result;
|
||||
currentOverhead = overhead;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user