Я пытался добиться высокой скорости записи растрового изображения в Silverlight и использовал WriteableBitmap
для этого. Сценарий многократно записывает UIElement, как Image, в растровое изображение размером 1000x1000:
WriteableBitmap bitmap = new WriteableBitmap(w, h);
...
for (...) {
bitmap.Render(patternImg, mymatrix);
bitmap.Invalidate();
}
Здесь Silverlight, кажется, может рисовать только около 50 раз в секунду.
В то время как в HTML5, используя Canvas, context.drawImage(image, dx, dy)
, он может работать более 5000 раз в секунду (на битовой карте 1000x1000, если я не ошибся ...)
Похоже, что writeableBitmap в Silverlight не использует аппаратный графический конвейер, есть ли способ добиться высокоскоростного рендеринга растрового изображения в silverlight?