我一直在使用Visual C#中的游戏(不是最好的平台,我知道),并且,正如预期的那样,它已经开始运行得相当缓慢。运行一些测试表明,主要用于绘制图像。我被告知Sprite Batching是一个很好的修复方法。
问题是,我在sprite批处理中找不到任何不特定于XNA或OpenGL的内容。我对这个过程几乎一无所知,我希望得到一些关于是否可以使用Visual Studio的Visual C#实现这样的信息的信息,以及(如果有的话)我可以去哪里了解它。如果没有,是否还有其他有用的方法来加快这一过程?谢谢!
答案 0 :(得分:0)
它基本上归结为将调用保存在状态切换(纹理,填充率)和绘制调用(将发送绘图调用50,000次并不像发送单个绘制调用那样高效,令人惊讶的足够)。在调用等效的SpriteBatch.Draw(...)
时,您将不得不检查以下内容:
SpriteBatch.End(...)
(您已完成;刷新缓冲区并绘制)如果您仍然遇到问题,请随时查看MonoGame的implementation。
编辑:发现了一个很棒的gamedev question。