Используй setPixel и не парься, я щас проверил - засовывание в ByteArray интов занимает столько же сколько и setPixel, а их еще нужно setPixels-ом прогнать
Главное, как только положили bitmapData в Bitmap - не забывать делать lock/unlok при перерисовке
По крайней мере картинка 1000x1000 заполняется за 300 мс на моей НЕ новой машине,
Текстом просто сложно нарисовать такую здоровую картинку, которая создаст проблему для процессора