此非成员函数sudo npm install -g @aws-amplify/cli --unsafe-perm=true
在3D空间中从顶点列表中绘制一个n边多边形。
此函数通常在正常执行期间被调用数千次,并且速度至关重要。
忽略drawPoly()
中调用的函数的影响,分配25个元素的顶点数组是否会对速度产生负面影响?
drawPoly()
答案 0 :(得分:1)
确定的唯一方法是测量。但是,您还能使用什么与之进行比较?在堆上分配显然要慢一些。使用全局变量来保存顶点可能是一种选择-仅用于性能基准测试。
鉴于平凡可构造对象的堆栈分配通常会转换为堆栈指针的简单更改,因此分配本身可能不会有什么大不了的。可能会产生难以观察到的效果的是触摸额外的缓存行。从性能的角度来看,代码写入的缓存行越少越好。因此,您可以尝试将vertList[25]
拆分为缓存行大小的数组,然后多次调用al_draw_prim
。基准将显示是否存在差异。