Jak mogę przyspieszyć tę klasę histogramów?

Ma to na celu obliczenie histogramu 8-bitowego obrazu w skali szarości. Przy testowej bitmapie 1024x770, CreateTime kończy się na około 890ms. Jak mogę to zrobić szybciej (w inny sposób)?

EDYCJA: Powinienem wspomnieć, że to jeszcze nie oblicza histogramu, tylko pobiera wartości z mapy bitowej. Naprawdę powinienem był zapytać, jaki jest najszybszy sposób pobierania wszystkich wartości pikseli z 8-bitowego obrazu w skali szarości?

<code>public class Histogram {

    private static int[,] values;

    public Histogram(Bitmap b) {
        var sw = Stopwatch.StartNew();
        values = new int[b.Width, b.Height];

        for (int w = 0; w < b.Width; ++w) {
            for (int h = 0; h < b.Height; ++h) {
                values[w, h] = b.GetPixel(w, h).R;
            }
        }

        sw.Stop();
        CreateTime = (sw.ElapsedTicks /
            (double)Stopwatch.Frequency) * 1000;
    }

    public double CreateTime { get; set; }
}
</code>

questionAnswers(3)

yourAnswerToTheQuestion