为什么应该尽量减少draw call？
如果将多个draw call合并为一个，那么传送到gpu的数据量还不是一样的吗，那么为什么合并之后可以大幅提高效率呢？  
个人猜测：  
1.合并之后不会打断gpu的流水线  
2.减少change state的次数  
请问各位大牛，draw call造成的瓶颈具体是什么
游戏引擎遍历游戏场景中的所有的物体，然后得到一个物体的渲染顺序,然后按照顺序提交给GPU来绘制游戏画面出来。每次渲染时，CPU把每次绘制要使用的数据传递给GPU，然后向GPU下达绘制DrawCall指令，GPU接收到指令以后”开机”绘制游戏物体出来。假设我们有100个物体需要渲染，如果分100次提交给GPU，每次GPU渲染一个，完成后再渲染下一个，这样CPU就要向GPU传送数据100次，同时下达100次的渲染命令。如果是这样，CPU提交数据给GPU，下达指令会有额外的开销，GPU每次可以处理很多个面，但是由于每次只送进来一个物体，导致GPU的处理能力没有发挥出来。假设把100个物体一次提交给GPU一起绘制,CPU不用反反复复的给GPU下达指令，重复传送数据,GPU一次开机把100个物体一次处理好，发挥最大的性能。把N个物体合并到一起来提交给GPU，GPU一次绘制，这个过程我们叫做合批。CPU给GPU下达一次渲染指令叫Drawcall。提交绘制一个游戏场景,场景中的物体分几次提交给GPU进行绘制我们叫做批次数目(Batches),又叫Drawcall次数。如果100个物体分100次提交给GPU,Drawcall/批次数目(Batches) 为100, 100个物体分2次提交给GPU，Drawcall/批次数目(Batches) 为2。