我正在使用 SDL2 用 C 语言开发游戏,我的问题是游戏是全高清的,并且有很长的(180 帧)角色动画会生成非常大的精灵表。我有一个 7326x7250 像素的精灵表,我必须将其分解为 16 个 2048x2048 像素的精灵表,这样我才能在平板电脑上播放它(它们的最大纹理大小是,在下限上,2048x2048)。
考虑到这个问题,我最终想知道是否将动画存储在视频文件中并将每个解码帧加载到 GPU 中会更好。我知道解码视频帧的开销以及在 GPU 上切换纹理的开销(通过 16 个 2048x2048 纹理,我能够将它们存储在单个纹理数组中,在动画期间保持 GPU 状态)。有没有人试过这个并成功了?