@SergeySerge11

Почему RenderTargetBitmap долго отрисовывается?

Почему к примеру любая игра типа скайрим в миллиард раз более сложную графику, в 2 триллиона раз более объектов отрисовывает 5 тысяч раз быстрее чем RenderTargetBitmap?
Как вообще может быть такая огромная разница? Или что тут не так, или как надо?
Pen p = new Pen(Brushes.Gray, 0.5);
 _bitmapMap = new RenderTargetBitmap((int)wWindow, (int)hWindow, 96, 96, PixelFormats.Pbgra32);
var visual = new DrawingVisual();
 using (var dc = visual.RenderOpen())
 {
     for (int yi = 0; yi < 100; yi++)
     { 
         for (int xi = 0; xi < 100; xi++)
         {
             dc.DrawRectangle(Brushes.Red, p, new System.Windows.Rect(
                 xi * (wCell + offset),
                 yi * (hCell + offset), wCell, hCell)); 
         }
     } 
 } 
_bitmapMap.Render(visual);
BitmapMap = _bitmapMap;

Я этого не понимаю. Какие 10_000 клеток секунды отрисовываются.
Какой вообще способ наиболее быстрый, их там наверное 1000 вариаций. Canvas, WriteableBitmap..., переопределение в OnRender, триллионы Геометрий, Группы, коллекции ....
  • Вопрос задан
  • 41 просмотр
Пригласить эксперта
Ответы на вопрос 1
@AlexHell
судя по информации что я нашел https://stackoverflow.com/questions/56582013/why-t...
RenderTargetBitmap doesn't take advantage of hardware rendering

т.е. простыми словами - он рендерит на CPU, и в отличие от GPU рендеринга (шейдерами в играх как вы приводите сравнение), CPU рендеринг очень медленный, и не предназначен для высокого FPS, а скорее для оффлайн обработки как в граф редакторе без видеокарты :)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы