}
uint32_t period = TaskManager::GetInstance()->GetMinimumCustomerTaskPeriod();
- int freq = (period == 0) ? 1 : 1000 / static_cast<int>(period);
+ int tmp = (period == 0) ? 1 : 1000 / static_cast<int>(period); // 1000: ms
+ int freq = (tmp > maxFrequence_) ? maxFrequence_ : tmp;
SetFrequenceInner(freq);
}
void LowPowerManager::ExitLowPower()
{
lastExitTime_ = HALTick::GetInstance().GetTime();
- SetFrequenceInner(60); // 60: 60fps
+ SetFrequenceInner(maxFrequence_);
}
bool LowPowerManager::IsLiteSurfaceInRootView()
return (view == RootView::GetInstance());
}
+
+void LowPowerManager::SetMaxFrequence(uint32_t freq)
+{
+ maxFrequence_ = freq;
+ if (GetFrequence() > maxFrequence_) {
+ SetFrequenceInner(maxFrequence_);
+ }
+}
} // namespace OHOS