gpt4 book ai didi

java - 千个 Sprite 绘制效果不佳

转载 作者:太空宇宙 更新时间:2023-11-04 09:36:31 25 4
gpt4 key购买 nike

我正在编写一个应用程序,我遇到了低fps,我发现几乎所有的CPU时间都被spriteBatch.draw()方法消耗了(大约数千次调用)。所以我创建了简单的绘图应用程序

public void render() {
spriteBatch.begin();
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
for (int i = 0; i < 2000; i++) {
spriteBatch.draw(tex, 0, 0);
}
spriteBatch.end();
}

应用程序运行速度为 18fps当我增加窗口大小,使其几乎填满整个屏幕时,fps 下降到 7!,当窗口大小较小时,它以 60fps 运行,在全屏上,我得到 20FPS(1600x900) - 比最大化窗口更好我仅使用一种纹理(512、512 - png),spriteBatch 上的 maxRenderCalls 为 2,polygonSpriteBatch 上的 maxRenderCalls 为 5 - 两者的 FPS 相同禁用混合 -> 没有变化,相同的 FPS

  1. 桌面上 2k 个 Sprite 使 fps 降至 20 以下是否正常? -(酷睿 i5-3210M 处理器(2.50GHz 1600MHz 3MB)、NVIDIA® GeForce® GT630M)

  2. 更改窗口大小影响性能正常吗?

最佳答案

我会尝试自己回答(欢迎发布更好的答案)

正常的。

性能问题的主要原因是大小。 绘图尺寸确实很重要,当我以十分之一的尺寸绘制时,即使使用 50 000 个 Sprite ,我也会得到30fps!

使用 PolygonSpriteBatch 时,即使启用了混合,我也可以获得稍高的速度 (48fps)!

此外,过于频繁地启用和禁用出血(我每帧已经执行了 1000 多次),确实会对性能产生负面影响。

关于java - 千个 Sprite 绘制效果不佳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56448776/

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