gpt4 book ai didi

android - 如何更改 FloatBuffer 的内容,同时保持性能?

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:13:16 24 4
gpt4 key购买 nike

我试过用

floatbuffer.put(float[]);

但是当我处理超过 200 个方 block 时,所有方 block 都有不同的纹理坐标,每帧都会更新,我的 fps 急剧下降,游戏变得太远而无法流畅。

y 认为 badlogicgames.com 上提到的方法,关于,而不是使用 floatbuffer,使用 intbuffer 但是,是同一件事,在缓冲区的方法“put”时等于慢。

那么,我如何才能以最佳性能更新我的所有 float 缓冲区?

编辑:我已经解决了我的问题,“put”方法本身并不慢,问题是当为每个 floatbuffer 初始化一个新的 float 时,而不是那样,我只是更改包含在floatarray 并且避免了许多 GC Activity ..我认为。

最佳答案

有多种方法可以提高性能。简而言之,这里有一些:

1) 初始化 float 缓冲区并在每一帧应用一个变换: - 如果您的方 block 在屏幕上移动,将它们一次放入 float 缓冲区,然后对每个单独的矩阵变换一。在这个方法中,您填充了一次 float 缓冲区,并且每轮只更新转换。

2) 仅将独特的形状放入 float 缓冲区 - 如果您的任何正方形彼此重复,请在每一帧调用相同的缓冲区以节省内存。

3) 使用顶点缓冲区对象和索引缓冲区对象 - 听起来您可能已经这样做了,但是将数据存储在顶点缓冲区中,并使用数组的索引调用顶点。

如果您仍然遇到问题,我建议您查看本教程:http://www.learnopengles.com/android-lesson-one-getting-started/

关于android - 如何更改 FloatBuffer 的内容,同时保持性能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10645826/

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