int*int 换成int*double效率会降低多少
在游戏渲染过程中如果用int*double会不会降低太多的效率
[解决办法]
time*int = 249ms
time*dou = 281ms
不知楼主是不是这个意思.....
#include <stdio.h>#include <stdlib.h>#include <time.h>#define N 10000int main(){ int arr[N],itmp; double brr[N],dtmp; for(int i=0;i<N;i++) arr[i]=rand()*rand(),brr[i]=arr[i]*1.0/100; time_t a,b; a=clock(); for(int i=0;i<N;i++) for(int j=0;j<N;j++) itmp=arr[i]*arr[j]; b=clock(); printf("time*int = %dms\n",b-a); a=clock(); for(int i=0;i<N;i++) for(int j=0;j<N;j++) dtmp=arr[i]*brr[j]; b=clock(); printf("time*dou = %dms\n",b-a); return 0;}
[解决办法]
因语言/编译系统/处理器的性能等不同。
有的情况下,单双精度的算术运算几乎没有差别。
有时候,双精度算术运算是单精度的4倍多。