【发布时间】:2012-12-31 16:32:10
【问题描述】:
我有一个程序可以在 320x240 流运行时检测球,但如果我流更大的分辨率,它会变得太慢。我假设如果我可以使用 GPU 来计算每个像素(以及它们的相邻帧和相邻像素),它会更快。有人知道我是否可以使用 AGAL 从 GPU 取回数据?
在排序中,我有下面的循环,通过帧的每个像素,我想在 GPU 上计算最多,以获得更好的性能。
for(var i:int=cv.length-1; i>1;i--){
if( (110*255) < (cv[i] & 0x0000FF00) && (cv[i] & 0x0000FF00) < (150*255)){ //i zöld
if( (cv[i+2] & 0x0000FF00) > (150*255) ) { //i+2 világos
if(floodhere(cv, i+2)){ //méret nagy
prevDiff[i]=0xffffffff; //fehér
close.push(i);
}
else prevDiff[i]=0xffff0000 //méret kicsi -> piros
} else {
prevDiff[i]=0xff000055 //kék
}
} else {
prevDiff[i]=0xff000000 //fekete
}
}
【问题讨论】:
-
不确定您的问题的答案是什么,但如果渲染速度很慢,您可以考虑使用 Actionscript Workers 在另一个线程中进行计算(不过需要最新的 Flash Player 版本)。
-
不,我不需要渲染,而是计算。
-
我应该更清楚。您可以使用 Workers 在单独的线程中进行计算。否则,您的计算将与其他所有内容(渲染)在同一个线程中进行。如果您没有其他选择,可能值得一试……虽然您不会获得类似 CUDA 的性能,但它可能会比您现在拥有的更快。
标签: actionscript-3 flash apache-flex stage3d agal