快速算法实现了

Coordinator
Apr 2, 2012 at 1:47 AM

现在计算直方图只需要25毫秒的时间,速度快了20倍左右。

剩下的瓶颈应该是画图了。大家如果还有余力可以考虑做一下,没有的话也无所谓。

 

快速算法的实现在fastcalculation 类里面,有兴趣得人可以阅读一下。

Coordinator
Apr 5, 2012 at 6:51 AM
Edited Apr 5, 2012 at 6:52 AM

学长,快速算法好像有问题。

首先画的图不太正常,而且zoom选16时出错,其中这段代码有问题吧:

if (endFragment == null)           

{               

               completeWindowEnd = endIndex.cacheIndex; 

                cache.Accumulation += endFragment.accumulation;

 }

Coordinator
Apr 5, 2012 at 10:53 AM
hanbingjie wrote:

学长,快速算法好像有问题。

首先画的图不太正常,而且zoom选16时出错,其中这段代码有问题吧:

if (endFragment == null)           

{               

               completeWindowEnd = endIndex.cacheIndex; 

                cache.Accumulation += endFragment.accumulation;

 }

恩。我看好像是有问题。我一会回去看看。

 

Coordinator
Apr 5, 2012 at 10:58 AM
hanbingjie wrote:

学长,快速算法好像有问题。

首先画的图不太正常,而且zoom选16时出错,其中这段代码有问题吧:

if (endFragment == null)           

{               

               completeWindowEnd = endIndex.cacheIndex; 

                cache.Accumulation += endFragment.accumulation;

 }

明白了,

 cache.Accumulation += endFragment.accumulation;应该写在else里面。而不是if。上面startfragment就是这样做的。可能当时糊涂了。
Coordinator
Apr 5, 2012 at 3:17 PM
nkhanxh wrote:
hanbingjie wrote:

学长,快速算法好像有问题。

首先画的图不太正常,而且zoom选16时出错,其中这段代码有问题吧:

if (endFragment == null)           

{               

               completeWindowEnd = endIndex.cacheIndex; 

                cache.Accumulation += endFragment.accumulation;

 }

明白了,

 cache.Accumulation += endFragment.accumulation;应该写在else里面。而不是if。上面startfragment就是这样做的。可能当时糊涂了。

解决了