![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
程序性能优化细节
文章平均质量分 55
genieyyt
不主动/不拒绝/不负责任
展开
-
性能提高1 尽量少用除法的2种方法介绍
除法运算比其他加/减预算,处理时间在20倍以上所以尽量把除法 用位运算,+,-,乘来替换, 给两个例子: - 1 -对于能被2的n次方整除的除数 int num = 128;value = org / num; 可以转换为位运算int num = 128;int num _sift = 7;value = org >> num _sift;原创 2009-01-21 08:27:00 · 602 阅读 · 0 评论 -
性能提高(2) 优化循环的要注意的4个细节
适合初中级朋友 (1) 注意CPU的0寄存器CPU里有个用于存放0的寄存器在做比较时if,和0比较的话,在汇编上会比0以外的值少一条汇编指令在循环里用到就能提高效率int end = max -1;for(i = 0; i ; i++) { } 优化为:int end = max -1;for(i = end; i > 0; i--)原创 2009-01-21 09:20:00 · 450 阅读 · 0 评论 -
性能提高(3) (转载)经典重弹,不能不弹 QUAKE3(一款有名游戏)中使用的平方根算法
雷神之锤III》里求平方根倒数的函数(快速平方根(倒数)算法)在3D图形编程中,经常要求平方根或平方根的倒数,例如:求向量的长度或将向量归一化。C数学函数库中的sqrt具有理想的精度,但对于3D游戏程式来说速度太慢。我们希望能够在保证足够的精度的同时,进一步提高速度。 Carmack在QUAKE3中使用了下面的算法,它第一次在公众场合出现的时候,几乎震住了所有的人。据说该算法其实并不是C转载 2009-01-23 09:32:00 · 1258 阅读 · 0 评论