gpt4 book ai didi

java - 每次更改 libGDX enableBlending 时都需要开始/结束吗?

转载 作者:行者123 更新时间:2023-11-29 05:38:39 25 4
gpt4 key购买 nike

我有一些没有透明像素的背景,然后有一些带有透明像素的 Sprite 。按照 libGDX 文档,我正在做这样的事情:

spriteBatch.begin();  
spriteBatch.disableBlending();
spriteBatch.draw(background, ...);
spriteBatch.enableBlending();
spriteBatch.draw(sprite, ...);
spriteBatch.end();

但是,我刚刚阅读了这篇博文,建议您每次都必须使用 begin/end。

http://www.rengelbert.com/tutorial.php?id=179&show_all=true

spriteBatch.disableBlending();  
spriteBatch.begin();
spriteBatch.draw(backgroundRegion, 0, 0, 320, 480);
spriteBatch.end();

spriteBatch.enableBlending();
spriteBatch.begin();
spriteBatch.draw(someTextureRegion1, 10, 30);
spriteBatch.draw(someTextureRegion2, 50, 20);
spriteBatch.draw(someTextureRegion3, 30, 90);
spriteBatch.end();

这真的需要吗?

我的代码似乎可以运行,没有报告任何错误,但我不知道如何测试它是否比第二个示例运行得更好或更差。

最佳答案

启用/禁用混合,导致批处理刷新,这实际上与调用结束/开始相同。不需要您自己执行此操作,尽管您可能无论如何都应该意识到这种情况的发生。所以你不必调用结束/开始,但应该将混合更改保持在最低限度。

关于java - 每次更改 libGDX enableBlending 时都需要开始/结束吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18552620/

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