我在整個互聯網上搜索了好幾天,找到了解決方案,並且什麼也沒得到。在Android上的TextView上打印GPU信息(渲染器,版本,供應商)
我想獲得有關Android設備上的GPU(如RENDERER,VENDOR和VERSION)的主要信息,並且能夠在定義的XML佈局的textview上打印它。我嘗試了很多方法,沒有爲我工作。大家說,使用這樣的:
Log.d("GL", "GL_RENDERER = " + gl.glGetString(GL10.GL_RENDERER));
Log.d("GL", "GL_VENDOR = " + gl.glGetString(GL10.GL_VENDOR));
Log.d("GL", "GL_VERSION = " + gl.glGetString(GL10.GL_VERSION));
Log.i("GL", "GL_EXTENSIONS = " + gl.glGetString(GL10.GL_EXTENSIONS));
我實現了隔壁班:
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mGLView = new GLSurfaceView(this);
mGLView.setRenderer(new ClearRenderer());
setContentView(mGLView);
}
private GLSurfaceView mGLView;
static class ClearRenderer implements GLSurfaceView.Renderer {
public final static String renderer = null;
Random aleatorio = new Random();
public void onSurfaceCreated(GL10 gl, EGLConfig config) {
float r = aleatorio.nextFloat();
float g = aleatorio.nextFloat();
float b = aleatorio.nextFloat();
gl.glClearColor(r, g, b, 1.0f);
Log.d("GL", "GL_RENDERER = " + gl.glGetString(GL10.GL_RENDERER));
Log.d("GL", "GL_VENDOR = " + gl.glGetString(GL10.GL_VENDOR));
Log.d("GL", "GL_VERSION = " + gl.glGetString(GL10.GL_VERSION));
Log.i("GL", "GL_EXTENSIONS = " + gl.glGetString(GL10.GL_EXTENSIONS));
}
public void onSurfaceChanged(GL10 gl, int w, int h) {
}
public void onDrawFrame(GL10 gl) {
gl.glClear(gl.GL_COLOR_BUFFER_BIT);
}
}
}
偉大的工程,但我不知道如何把這些日誌到一個TextView。設置ContentView到我的GLSurfaceView我不知道如何在那裏使用TextView。
我ASLO使用tryed:
String renderer = gl.glGetString(GL10.GL_VENDOR);
Log.d("GL", renderer);
在同一個地方,以前的日誌是,這也workg偉大的,我可以看到在logcat的供應商的正確的價值
。
但我仍然不知道如何將此值傳遞給textview(例如tv.setText(renderer))並將其用於普通佈局。
如果有人能夠通過一個簡單的例子來幫助我解決這個問題,我將非常感激。考慮到我從來沒有使用OpenGL,我只想獲得關於它的信息。我也接受,如果你以另一種方式告訴我(如果可能,更簡單:D)以獲取該信息。
在此先感謝。