微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在vulkan中可以接受多少次抽奖?

如何解决在vulkan中可以接受多少次抽奖?

我一直在研究vulkan渲染器,并且有点咸菜。目前,我正在使用vulkan渲染2d精灵,并且刚刚导入了整个地图以进行绘制。地图为40x40,含1600个图块。我无法实例化/批处理这些对象,因为场景中存在移动的对象,并且可能需要在它们之间插入绘制调用(某些对象需要在其他对象之前渲染)。但是,当我分别渲染这1600个精灵时,我的cpu占用了大约20ms的时间来完成精灵。这是在单独的线程中发生的,并且执行以下操作:

Start command buffer & render pass 
 For every sprite to draw
   Set up translation matrix.
   Fetch the material if its not cached
   If this command buffer is not bound to the pipeline bind it.
   Bind the descriptor set given by the material if not already bound.
   Push translation matrix to pipeline using push constant.
   Draw.
End command buffer & render pass & submit.

我想我的问题是,1600太多了吗?我是否应该尝试找到批处理此方法方法?只花这些时钟周期在gpu上建立一个大缓冲区而只绘制一次会更有意义吗?我发现这样做效率不高,因为我实际上只为给定的所有命令提交一次。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。