一次渲染同一网格的多个(成千上万个)副本时,实例化可以显着提高性能。但是,一次绘制一次绘制一个副本就需要多少开销呢?将实例化用于引擎渲染的所有几何体是好事还是坏事?
编辑:假设我们正在创建FPS游戏。大多数物体只有一个实例:刀,枪,机枪,建筑物和无线电塔。但是也有一些具有多个实例的对象:树(例如,具有数百个实例的3种树),草等等……我的意思是:不是以“传统”方式渲染单实例对象,而是使用树和草使用实例化,我们使用实例化渲染它们。因此,我们的无线电塔只有一个实例(我们将其信息存储在实例数据缓冲区中),并且我们使用某种DrawInstanced()
实例计数等于的调用来渲染该无线电塔1
。与所有其他对象相同(当然,树木和草具有多个实例)。
所以我的问题是:使用实例化绘制对象的单个实例是一个坏主意吗?实例化是否有过多的开销(在内存和性能方面),还是以某种方式不希望呈现单实例对象?