gpt4 book ai didi

c++ - OpenGL 会阻止不必要的 API 调用吗?

转载 作者:可可西里 更新时间:2023-11-01 18:29:30 24 4
gpt4 key购买 nike

目前我的管道中有大约 15 个渲染 channel 。对于每一遍,我都会在绘图前设置正确的设置,然后再重新设置。这些设置包括视口(viewport)大小、打开或关闭深度测试、混合功能或关闭、模板功能、模板操作等。

我想知道 OpenGL 是否足够聪明,可以忽略设置已存在状态的 API 调用。因为否则我会用很多标志跟踪状态,并且在渲染过程之前只在实际需要时设置状态。

最佳答案

简短的回答:这取决于驱动程序。

OpenGL 本身并没有做很多事情。供应商可以按照他们认为合适的方式实现标准规定的功能。他们通常会测试现有状态以避免不必要地拖延管道吗?也许吧,但如果没有阅读供应商的建议或自己衡量性能,就无法确定。

我所看到的建议(没有引用,因为它到处都是)的共识是,您应该避免调用带有冗余状态更改的 OpenGL。它不会造成太大伤害,而且可能会带来一些好处。

在您的情况下(在传递之间每帧更改几次状态),它可能不会有太大区别。

关于c++ - OpenGL 会阻止不必要的 API 调用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17143308/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com