Java-部分纹理在屏幕外-性能差异

Java-部分纹理在屏幕外-性能差异,第1张

概述图片上是两种情况的示例,其中正在渲染带纹理的多边形.全部由OpenglES2完成.A)多边形部分不在视口中B)多边形完全在里面我的问题:情况’A)’是否会消耗更少的系统/GPU资源*,因为纹理部分不在屏幕上,还是会执行与我在视口内部渲染的效果相同的效果,为什么?*“资源”-表示速度,而

图片上是两种情况的示例,其中正在渲染带纹理的多边形.全部由Opengl ES2完成.

A)多边形部分不在视口中
B)多边形完全在里面

我的问题:

情况’A)’是否会消耗更少的系统/ GPU资源*,因为纹理部分不在屏幕上,还是会执行与我在视口内部渲染的效果相同的效果,为什么?

*“资源”-表示速度,而不是内存.

我知道opengl会先计算顶点,然后再渲染纹理,并且如果顶点不在屏幕/视口之外,它会跳过任何进一步的计算,但是对于纹理对象部分处于屏幕外的情况是否相同?它会忽略不可见的纹理部分吗?

解决方法:

情况A应该更快.顶点处理将是相同的.之后,将应用裁剪到视图体积.在情况A中,部分多边形将被裁剪,而整个多边形在情况B中通过.之后,对多边形进行栅格化,然后将所得片段进行片段处理.由于情况A中的碎片较少,因此在此阶段要做的工作较少.片段着色器进行纹理采样,因此在这种情况下,将仅对纹理的可见部分进行采样.

生成片段后也可能发生裁剪,但是我总是希望它在片段着色器之前完成.

尽管在情况A下工作总是很少,但这并不一定意味着您会在渲染中看到速度差异.您可能在管道的其他部分或应用程序代码中遇到瓶颈.

总结

以上是内存溢出为你收集整理的Java-部分纹理在屏幕外-性能差异全部内容,希望文章能够帮你解决Java-部分纹理在屏幕外-性能差异所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1093404.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存