java - 根据设备功能自定义线程的最佳方法是什么
问题描述
我正在开发一个 android 3d 游戏
游戏可以在高设备能力上更好地运行
但我仍然可以通过减少纹理或自定义游戏的帧速率或增加自定义线程休眠的时间等来提升游戏。
但我需要根据设备这样做
我的意思是这样做的最佳做法
我正在考虑做这样的事情
int count = Runtime.getRuntime().availableProcessors();
if(count < 4){
//// load low textures and decrease frame rate and so on
}else{
//// load high textures and increase frame rate and so on
}
但我知道这不是一个可靠或好的解决方案
解决方案
我认为仅使用处理器数量不是一种可靠的方法。GPU 的能力决定了这么多。我看到两个选项;
- 让用户决定(就像大多数游戏一样)
预配置多个配置文件并让用户使用菜单进行尝试。有些人会更喜欢较慢的性能以支持更好的图形,反之亦然。作为开发人员,我们是谁来决定哪个更可取?
- 运行性能测试并据此做出决定
加载一些东西(一个小场景),以不受限制的帧速率运行它一会儿。衡量性能(tpf
例如)并据此决定能力。
推荐阅读
- python - UnboundLocalError:在类属性声明中获取异常
- git - Git:您如何在删除分支之前记录开发步骤?
- android - Android:coreApp在manifest中是什么意思
- angular - 在 forEach 循环中调用 Angular 服务
- macos - macOS SSH 命令显示的密钥符号是什么 Unicode 字符?
- java - 如何修复 EditText 的 getText 方法的覆盖
- r - 如何使用 R 中的 Caret 包按组进行 Box-Cox transorm?
- android - 如何自定义 Android Facebook 登录按钮?
- python-3.x - 为什么这个 queue.join 调用会无限期阻塞?
- excel - 从Excel VBA中的字符串中提取最后一个括号中的字符