Canvas.Pixel
macht bei JEDEM Aufruf einen
API Call. Reine Schätzung, aber
Canvas.ScanLine
ist locker um den Faktor 1000 schneller (eher mehr). Dort schreibst du die Daten praktisch direkt in den internen Bitmapspeicher.
Einen Pixelbuffer brauchst du meiner Meinung nach nicht. Nichts anderes liefert
Canvas.ScanLine
doch: Einen Zeiger auf den Pixelbuffer des Bitmaps.