我正在尝试根据设备明智地为我的 Vulkan C 程序选择演示模式,并且需要一个跨平台脚本来确定是否:
两种解决方案的目标都是在电池不存在时检查 MAILBOX 模式,否则检查 RELAXED FIFO,因此两种解决方案中的任何一种都可以满足我的需求。
我知道我可以使用宏来检查设备是 Android 还是 Apple,并使用
__ANDROID__
和 __APPLE__
,还可以使用 WinAPI GetSystemPowerStatus()
获取电池状态,但我不想坚持在 Vulkan 上编写应用程序的某些平台...
是否有跨平台的方法来检查电源或笔记本电脑/手机电池是否存在?
有一种跨平台的方法可以通过 SDL/SDL2/SDL3 通过
SDL_GetPowerInfo()
中的 <SDL/SDL_power.h>
检查电池状态。然后您可以将状态与 SDL_PowerState
枚举进行比较,例如:
SDL_PowerState systemPowerState = SDL_GetPowerInfo(NULL, NULL);
if (systemPowerState == SDL_POWERSTATE_NO_BATTERY)
// check for mailbox
else
// check for relaxed_fifo