在我的程序中开辟一个6000的数组,CPU占用率还正常,当开辟一个大小为20000的float数组时,CPU就占到100了?
大概有哪些原因?

解决方案 »

  1.   

    恩 我是用的new float[n]出来的数组,n需要到20000,n在6000时还正常
      

  2.   

    回楼上,80000 大约是 80K, 现在内存动不动上G, 开这么点空间不算过分吧, 直接在堆栈开临时变量都没问题.楼主说的占用CPU100%的情况,应该不是申请变量时占用的CPu,或许是做其他操作的时候占用的. 要不然就是机器性能太低或是其他原因,建议debug调试跟踪下
      

  3.   


    该数组空间需要动态的,所以就用new
      

  4.   

    不是数组大小的问题,数组在这里只是一个容器而已,容器大了,装的东西也自然就多了,
    我是用来绘图的,我把刷新的频率改低一点,CPU占用率就降下来了
      

  5.   

    计算的代码占用CPU太久了
    1、优化算法
    2、在不追求显示速度的情况下,多加Sleep(),空出CPU
      

  6.   

    嗯,跟new数组的大小没关系。应该是数组大了以后,是不是加大了计算量导致的?