GPU服务API允许您使用乘数因子管理GPU频率。在某些情况下,应用程序的3D性能并不像温度或模块消耗的能量那么重要。
您可以使用此API来缩放GPU的工作频率。频率总是除以64,然后乘以一个范围在1到64之间的值。您可以控制这个乘数因子,以便更好地控制模块温度和功耗。
除了管理GPU频率外,此API还允许您配置当模块温度达到热跳闸点时将应用的最小频率乘法器。热跳闸点是一种Android安全机制,当设备达到该跳闸点配置的温度时,会降低CPU和GPU的频率。看到Digi APIx javadoc获取此API中可用方法的完整列表。
除非特别说明,否则所有GPU API方法都需要com.digi.android.permission.GPU许可。
如果您的应用程序没有com.digi.android.permission.GPU权限,则无法访问任何GPU服务特性。 |
必须实例化GPUManager对象来管理GPU倍频器。为此,您必须提供应用程序上下文.
进口android.app.Activity;进口android.os.Bundle;进口com.digi.android.system.gpu.GPUManager;公共类GPUSampleActivity扩展活动{GPUManager GPUManager;[…]@Override公共无效onCreate(Bundle savedInstanceState) {超级.onCreate(savedInstanceStace);//实例化GPU管理器对象。gpuManager =新GPUManager (这);[…]} [...] }
一旦GPUManager对象的实例化,你将能够:
管理GPU倍频器
GPUManager的主要特性之一是通过1 ~ 64的乘数来控制GPU的频率。设置为64时,表示设置为GPU的最高频率;设置为1时,表示设置为GPU的最低频率。GPU频率与模块的温度和功耗直接相关。频率越低,温度和功耗越低。
有两种方法允许您获取和设置GPU倍频器。
方法 | 描述 |
---|---|
setMultiplier (int) |
设置倍频器。取值范围是1 ~ 64。 此方法返回配置的频率。如果操作成功,则返回一个等于指定乘数的值。 |
getMultiplier () |
获取频率乘法器。 |
在某些模块变体中,允许的最小倍频大于1。方法返回的值进行比较,以确保成功配置了新的乘数setMultiplier (int)方法与所需的一个。它们一定是相等的。 |
这些方法可能会失败,原因如下:
该功能不受支持,将抛出UnsupportedOperationException.
指定的乘数超出范围,抛出IllegalArgumentException.
设置或获取乘数时发生错误,抛出IOException.
进口com.digi.android.system.gpu.GPUManager;[…]//获取GPU管理器GPUManager GPUManager =新GPUManager(上下文);//获取当前频率乘法器。intcurrentMultiplier = gpuManager。getMultiplier();//设置乘数为48。gpuManager。setMultiplier(48);[…]
修改GPU最小倍频
当模块温度达到热跳闸点时,Android将CPU和GPU的频率设置为最低。当温度低于热跳闸点10度时,Android将CPU和GPU频率配置为先前的值。
您可以获取和设置热跳闸点温度值getHotTemperature ()和setHotTemperature (int)CPU服务的方法。 |
配置图形处理器的最小倍频值有以下两种方法:
方法 | 描述 |
---|---|
setMinMultiplier (int) |
设置最小倍频器。取值范围是1 ~ 64。 此方法返回配置的最小频率。如果操作成功,则返回一个等于指定乘数的值。 |
getMinMultiplier () |
获取最小频率乘法器。 |
在某些模块变体中,允许的最小倍频大于1。方法返回的值进行比较,以确保成功配置了新的乘数setMinMultiplier (int)方法使用所需的值。它们一定是相等的。 |
这些方法可能会失败,原因如下:
指定的乘数超出范围,抛出IllegalArgumentException.
设置或获取乘数时发生错误,抛出IOException.
进口com.digi.android.system.gpu.GPUManager;[…]//获取GPU管理器GPUManager GPUManager =新GPUManager(上下文);//获取最小频率乘法器。intminimumMultiplier = gpuManager。getMinMultiplier();//设置最小倍频为2。gpuManager。setMinMultiplier(2);[…]
GPU的例子
示例:GPU管理 |
---|
的GPU管理示例应用程序演示了GPU API。在本例中,您可以使用切片条修改GPU倍频器的值,并查看其对GPU性能和模块温度的影响。 您可以使用Digi的Android Studio插件导入示例。有关更多信息,请参见导入Digi示例应用程序.要查看应用程序源代码,请转到GitHub库. |