我应该在2D游戏中使用什么,其中包含2d透明精灵。
所有的吸烟都很受欢迎。以下示例。
我会提到我使用Unity来制作这款游戏,它必须在移动设备上尽可能快。但是,anwser doenst必须与Unity有关。
答案 0 :(得分:1)
四年后,我可以毫无疑问地回答我的问题。
批处理
始终最好使用像素较少的较小图像,然后重复使用多次。 Unity有一个管道,可将您的图像缓存在GPU中,并多次用于同一着色器代码。只需一个CPU即可调用GPU。这种效果称为“ 批处理”。
绘图调用通常会占用大量资源,而图形API对于每个绘图调用都会做大量工作,从而导致CPU端的性能开销。这主要是由于绘制调用之间的状态更改(例如切换到其他材质)引起的,这导致了资源密集型验证和图形驱动程序中的转换步骤。
批处理:在CPU上变换网格(子图形)的顶点,将许多相似的顶点组合在一起,并一次性绘制它们。
较小的图像可确保更少的GPU内存用于批处理几乎“免费”的操作。
您可以通过创建模板缓冲区来限制和简化通过模板共享的执行。无需渲染每个像素(即使不透明度为0),也可以增加模板值以将Alpha值截断为0.3甚至0.5-通常,您不需要那种阴影或边缘柔和的速度延长执行时间。
默认的精灵着色器以非常小的模板值为您完成此操作,但是您可以找到许多插件或着色器来帮助您完成此任务,并通过较小的图形权衡来提高游戏速度。