引用第4楼chiataimakra于2009-07-29 20:48发表的 :
考虑相当细致,赞扬,虽然我不会用CUDA但是我觉得这及其符合我的习惯(奔三上面用万恶的VB做几千次循环的时候那个慢啊,93你拿着E系列处理器是可以理解但是无法体会的),优化变量之间互相读取的关系与减少“倒脚”次数。
干嘛不来当斑竹呢。。。
1L贴的是用普通CPP实现的方法,CUDA的程序我没贴上来不过也差不多这个样子。
还有一个更进一步优化的想法,明天用普通的CPP和CUDA各实现一下试试,看看效率能提高多少。
虽然这个RGB2L二值化算法非常简单,但是往往是越简单的算法,执行的数据量越多,优化后性能提升越明显。例如,有统计表明,MPEG解码过程中,花费时间最多的步骤,不是huffman解码、预测帧恢复这些较复杂的部分,反而是内存拷贝、色度空间转换(YUV转RGB)、IDCT这些非常简单的步骤,因为这些步骤处理的数据量是整个解码过程中最大的。