目前HGE客户端里面的绘图机制

      算是整明白HGE底层绘图机制,里面包含了两种后备缓存的方式,一种是常规的那种后备缓冲,另一种,里面采用了渲染到目标的方式。

     渲染到目标纹理,除了创建一张大的纹理之外,另外还需要搭配一个缓存区。这是流程中的设置,没有什么好说的。

     实际上,这样一来可以把纹理按照默认方式,创建到显示内存里面,没有这种设置,速度肯定上不去。另外一个好处是。可以创建一些比原窗口大一些的缓存,这样就完全对应上地图方面的算法了。

     不算很出奇,也不是有什么问题。很正常的做法。

      但是最大的瓶颈在于少了批量绘图机制,另外二维游戏不需要ZB深度缓冲,这个可以清理出去,底层可以减少很多检测方面的开销和提高代码精益效率。

       不要小看批量机制,这个在什么类型的游戏里面是不可忽视的。在一帧里面实际需要锁缓冲的几率是很低的。然而,HGE是一张图片锁一次缓冲的,一帧里面锁缓存的次数,是吓人的。这样显然效率是很差的。虽然在FPS上面,在单机测试下是显示不出区别,但是一旦真正开放到市场上,我想大家应该已经知道这些毛病了。

      

原文地址:https://www.cnblogs.com/GameDelphi/p/7785210.html