1
|
Ben Zotto sberry · 技术社区 · 14 年前 |
![]() |
1
1
最好的办法可能是对屏幕外的渲染和窗口系统的渲染进行采样,并使用仪器中的CPU取样器对每个系统进行紧密循环,然后比较结果,看看有什么不同。
另外,你能更清楚地知道你所说的“连续两次渲染屏幕外的东西”是什么意思吗?_您在问题开始时提到您__在屏幕外创建一个新的GL上下文___您是指一个新的framebuffer和renderbuffer,还是一个全新的eaglcontext?根据为进行屏幕外渲染而重新创建的新资源和对象的数量,驱动程序可能需要做大量工作,以便在第一次在绘图调用中使用这些资源时设置这些资源。如果你只是在屏幕上截取你放在屏幕上的内容,你甚至不需要做任何一件事,这就足够了
|
![]() |
2
0
屏幕外渲染是否会迫使GPU刷新其所有正常状态,然后执行渲染,刷新屏幕外上下文,并必须从CPU内存重新加载所有正常内容?这可能比使用数据和帧缓冲区(完全保留在GPU上)进行渲染要花费更长的时间。 |
![]() |
3
0
我不是这个问题的专家,但据我所知,图形加速器用于向屏幕发送数据,所以通常路径是代码-顶点-加速器-渲染图像-屏幕。在本例中,您将把帧缓冲区刷新回主内存中,这可能会碰到内存控制器中带宽的某种瓶颈或其他问题。 |
![]() |
pats · 在Libgdx中定位和旋转动画 7 年前 |
![]() |
harryisaac · SceneKit自定义几何体纹理错误 7 年前 |
|
user8581488 · OpenGL ES3阴影贴图问题 7 年前 |