I'm trying to draw rectangles into a WriteableBitmap, unfortunatelly the WriteableBitmapEx that provides Fill* extensions are too slow and can be run only at the main thread.
I'm looking for alternatives specific for WP8.1 and don't know the best solution so far.
I need a way to draw the rectangles async, one approach was creating a Canvas at the MainWindow and adding xaml.Rectangles on it, this almost can be used as solution for the problem, but I want specific draw the rectangles on the WriteableBitmap instead of creating a ton of UIElements and adding all of then on the screen.
Sorry if any given solution can be found on internet, I can't find almost nothing about C#.
A test I did:
    protected override void OnNavigatedTo(NavigationEventArgs e)
    {
        var container = new Canvas()
        {
            Width = 300,
            Height = 500
        };
        var winImage = new Image()
        {
            Width = 300,
            Height = 500
        };
        container.Children.Add(winImage);
        //var winImage = imageView.NativeView<Image>();
        var img = new WriteableBitmap((int)winImage.Width, (int)winImage.Height);
        var clr = Color.FromArgb(255, 0, 0, 255);
        var start = DateTime.Now;
        var random = new Random();
        for (int i = 0; i < 50; i++)
        {
            //var color = Color.FromArgb(255, (byte)random.Next(255), (byte)random.Next(255), (byte)random.Next(255));
            img.FillRectangle(i * 2, i * 2, i * 2 + 10, i * 2 + 10, clr);
        }
        Debug.WriteLine((DateTime.Now - start).TotalMilliseconds + "ms drawing");
        winImage.Source = img;
        Content = container;
    }
This results in "792.1397ms drawing" running on debug mode on a Nokia Lumia 1020, that is pretty slow.
 
    