1

我是 android 开发的新手,我使用基本的 opengl 方法,比如 Ububntu 上的粒子引擎或简单的旋转球体场景。我想实现一个频谱分析仪,它从手机麦克风获取音频信号,STFT 处理它们并在屏幕上绘制频谱结果。

我尝试对这种情况进行建模,使用大约 22000(正好 21980)个正方形(每个为 1 Hz)绘制并根据每个频率分量的 STFT 分析结果在 y 轴上缩放它们中的每一个。不幸的是,由于在 Renderer 对象的回调“onDrawFrame()”期间将自身绘制的 22000 个方形对象的计算负担过重,这种方法已经失败。

我找到了关于“glDrawArrays()”的信息,我希望这可以帮助我,但我不明白如何使用这种方法,我可以在 y 轴上拉伸(或缩放)我必须绘制的 LineArray 的每条线渲染器回调“onDrawFrame()”。

你们有没有人给我一些提示,特别是您认为这种方法在 OpenGL SE 引擎上可能具有计算性能?

谢谢和问候,狮子座。

4

0 回答 0