溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

詳解Android獲得系統(tǒng)GPU參數(shù) gl.glGetString

發(fā)布時間:2020-10-20 22:27:12 來源:腳本之家 閱讀:797 作者:lqh 欄目:移動開發(fā)

詳解Android獲得系統(tǒng)GPU參數(shù) gl.glGetString

通過文檔的查找,以及源碼的剖析,Android的GPU信息需要通過OpenGL來獲取,android framework層提供GL10來獲取相應的參數(shù),而GL10要在使用自定義的View時才可以獲得,下面是獲得GPU信息的例子:

1.實現(xiàn)Render類

class DemoRenderer implements GLSurfaceView.Renderer { 
 
  public void onSurfaceCreated(GL10 gl, EGLConfig config) 
  { 
    Log.d("SystemInfo", "GL_RENDERER = " +gl.glGetString(GL10.GL_RENDERER));  
    Log.d("SystemInfo", "GL_VENDOR = " + gl.glGetString(GL10.GL_VENDOR));  
    Log.d("SystemInfo", "GL_VERSION = " + gl.glGetString(GL10.GL_VERSION));  
    Log.i("SystemInfo", "GL_EXTENSIONS = " + gl.glGetString(GL10.GL_EXTENSIONS));  
  } 
 
 
  @Override 
  public void onDrawFrame(GL10 arg0) { 
    // TODO Auto-generated method stub 
 
  } 
 
 
  @Override 
  public void onSurfaceChanged(GL10 arg0, int arg1, int arg2) { 
    // TODO Auto-generated method stub 
 
  } 
 
} 

2.實現(xiàn)GLSurfaceView

class DemoGLSurfaceView extends GLSurfaceView { 
 
  DemoRenderer mRenderer; 
  public DemoGLSurfaceView(Context context) { 
    super(context); 
    setEGLConfigChooser(8, 8, 8, 8, 0, 0); 
    mRenderer = new DemoRenderer(); 
    setRenderer(mRenderer); 
  } 
} 

3.在Activity中 new 一個 DemoGLSurfaceView 對象

4.設置這個View對象

public class Demo extends Activity { 
  @Override 
  public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    GLSurfaceView glView = new DemoGLSurfaceView(this); 
    this.setContentView(glView); 
  } 
} 

以上就是Android獲取GPU 參數(shù)的例子,如果大家研究Android GPU 的知識,必須研究Android GPU的源碼,這里只是給個小例子,希望能幫助到大家,謝謝大家對本站的支持!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。

AI