关注1 关注
odiecc创建于 5 年前
据我目前的了解该行为是在RenderThread中的,最主要的导致该行为的耗时是DrawCall。
那么除了DrawCall还有那些行为被记录到该过程中呢?
另外这过程耗时统计是否还包括顶点,材质贴图,Shader等从内存到GPU的IO时间呢?
该问题限制在Opengl es2.0/3.0驱动下思考,无需考虑Vulcan/Matel等目前面向多线程的驱动。
赞同 0评论 分享
1条回复
ZFK回答于 5 年前
感觉应该是都在里面的。因为,即使是多线程渲染,图形API的调用也需要在同一个线程中。其一,是Android系统的EGLContext一般不是线程独共享的,也就是只有一个线程能向同一个EGLContext里面发送GL指令。其二,如果使用共享的EGLContext,多个线程都能提交图形API,渲染的结果很难保证正确性。比如:如何保证线程A绑定了VBO或者Texture之后,线程B提交DrawCall时一定是它需要的呢。所以,应该都在一个线程里面做的。
赞同 1评论 2 分享