Также, глядя на ваш код, попробуйте поменять местами циклы for, это даст лучший доступ к памяти
for (y ... ... for (x ...
). Следующий шагчтобы развернуть доступ к некоторым пикселям. Попробуйте выбрать 4 или 8 пикселей в цикле интервала
для (y ... ... для (x = 0; x
pixel0 = image.getpixel(x,Y)
pixel1 = image.getpixel(x +1,Y)
pixel2 = image.getpixel(x +2,Y)
pixel3 = image.getpixel(x +3,Y)
if ( pixel0 ....
Как указывалось ранее, использование Bitmap Unlock позволяет получать доступ к пикселям с помощью указателей, что является самым быстрым из всех, которые вы можете получить на ЦП. Вы также можете применять упорядочение циклов и развертывание пикселей к этой технике.
Еслиэто не достаточно быстро, тогда есть выбор между: многопоточность C # или GPU с OpenCL и его привязкой C #.