Sprite Batch concept
Sprite Batch concept
我想确认以下内容,只使用一个精灵批次并绘制字体和其他动画精灵可以吗?如果这是真的,那么只使用一个sprite批处理就可以批处理多少个四边形?这是DirectX API的问题吗?它会处理这个问题还是GPU?
是的,可以为字体和其他精灵使用一个精灵批处理对象。事实上,这样可能更好。
可以批处理的精灵数量取决于实现。如果您在DirectXTK中使用SpriteBatch
类,则在向其添加精灵时,它会使用一个不断增长的数组,因此您可以给它的精灵数量没有实际限制(内存除外)。在内部,它创建了一个顶点缓冲区,可以处理2048个精灵或2048*4个顶点。这不会限制可以发送到SpriteBatch
的精灵数量。这只是意味着,例如,如果你排队3000个精灵,它将需要至少进行两次绘制调用来渲染所有内容(如果你使用多个纹理,则需要更多)。
因此,一次调用中可以绘制的精灵数量取决于实现创建的顶点缓冲区的大小。顶点缓冲区的最大大小最终取决于可用内存的大小。
相关文章:
- C++概念:如何使用'concept'检查模板化结构的属性?
- 为什么output_editor Concept不需要output_e迭代器标记
- C++ "concept"和鸭子打字有什么关系?
- 这是关于 <concept> c++ 中库的错误吗?
- 错误"<url> is not recognized as an internal or external command, operable program or batch file.
- Windows Batch - 如何在将标准输出重定向到文件时添加时间戳
- 我可以使用batch/c++强制监视器切换输入吗
- Sprite Batch concept
- 从c++中为Batch设置临时环境变量
- 在程序内存中执行BATCH脚本