Conversão rápida de Bitmap para BitmapSource wpf

Eu preciso desenhar uma imagem noImage componente em 30Hz. Eu uso este código:

public MainWindow()
    {
        InitializeComponent();

        Messenger.Default.Register<Bitmap>(this, (bmp) =>
        {
            ImageTarget.Dispatcher.BeginInvoke((Action)(() =>
            {
                var hBitmap = bmp.GetHbitmap();
                var drawable = System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap(
                  hBitmap,
                  IntPtr.Zero,
                  Int32Rect.Empty,
                  BitmapSizeOptions.FromEmptyOptions());
                DeleteObject(hBitmap);
                ImageTarget.Source = drawable;
            }));
        });
    }

O problema é que, com esse código, o uso da minha CPU é de cerca de 80% e, sem a conversão, é de cerca de 6%.

Então, por que a conversão de bitmap é tão longa?
Existe método mais rápido (com código não seguro)?

questionAnswers(2)

yourAnswerToTheQuestion