其他分享
首页 > 其他分享> > Android获取GPU模型

Android获取GPU模型

作者:互联网

从终端运行以下命令时:

adb shell dumpsys | grep GLES

输出为:

GLES: Qualcomm, Adreno (TM) 330, OpenGL ES 3.0 V@53.0 AU@ (CL@)

但是,以编程方式运行时,我无法获得输出.

String GPUModel = "";
String command = "adb shell dumpsys | grep GLES";

try {

    InputStream inputStream = Runtime.getRuntime()
                                         .exec(command)
                                         .getInputStream();

    InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
    BufferedReader bufferedReader = new BufferedReader(inputStreamReader);

    GPUModel = bufferedReader.readLine();

} catch (IOException e) {
        e.printStackTrace();
}

GPUModel为空.

解决方法:

您应该使用glGetString来获取GPU类型:

String renderer = GLES20.glGetString(GLES20.GL_RENDERER);

但是,如果您需要检查GPU的某些功能,则最好不要检查GPU名称,而是检查是否有必要的GL扩展.您可以通过请求GL_EXTENSIONS来检索所有这些文件:

String extensions = GLES20.glGetString(GLES20.GL_EXTENSIONS);

标签:opengl-es,android,android-runtime,android-shell
来源: https://codeday.me/bug/20191120/2044105.html