Простой графический граф XY: ось X будет представлять собой полный диапазон возможных процентных ставок, от 0% на одном конце до 100% на другом. В частности, значение X будет представлять собой ограничение по рейтингу или минимальный рейтинг, который может иметь транзакция до того, как она перестанет быть приемлемой. Ось Y будет показывать значения от 0 до общего количества транзакций, которые прошли. Значение Y будет представлять собой общее количество транзакций с рейтингом, большим, чем текущее значение X (или больше или равно текущему значению X, я еще не решил). Никаких транзакций не произойдет, когда этот график будет сначала нарисован, поэтому график начнется с «y = 0x».Может ли WPF отображать линию с 300 000 точек на ней в среде с высокой чувствительностью?
Предположим, что первая сделка прошла с рейтингом 40%. Рейтинг транзакции указывает, что эта транзакция приемлема, если наше ограничение рейтинга составляет менее 40%. (... или меньше или равно 40%. Опять же, я еще не решил).
Сначала ось Y будет масштабироваться, чтобы отобразить диапазон 0-1 (поскольку 1 - общее количество транзакций). Затем строка будет изменена, чтобы указать, что 0 транзакций приемлемы с x = 40 или более, и что 1 транзакция приемлема с x = 40 или меньше. Это легко сделать в WPF, просто добавив две точки в линейный путь - один в (40,0), а другой в (40,1) - и затем перемещая левую конечную точку линии до (0,1). Правая конечная точка линии останется на (100,0). Затем этот процесс можно повторить для второй транзакции и так далее.
Проблема в том, что мы будем иметь дело с шестизначным количеством транзакций. и я хочу убедиться, что я использую возможности WPF для ускорения векторного рисования в максимально возможной степени, чтобы гарантировать, что график не отстает или не заморозит остальную часть программы, поскольку он пытается отобразить 300 000 точек на один линейный путь. Или WPF должен иметь возможность обрабатывать такие цифры в одно мгновение? Мне нужно найти способ реализовать этот график без замедления приложения. Я верю, что векторная графическая платформа WPF предоставит вам решение, но я не знаю достаточно о том, как использовать WPF, чтобы быть уверенным, что я получаю максимальную отдачу от высокопроизводительных возможностей WPF.
Позвольте мне знать, как это работает для вас. – 2009-09-26 11:06:10
Это старый вопрос, но мне интересно, нашли ли вы решение своей проблемы? Проведя довольно много времени, экспериментируя с высокой производительностью в WPF, я обнаружил, что максимальная производительность может быть достигнута за счет использования примитивов WPF вообще, но с использованием API WriteableBitmap. Это или Direct2D. Мне было бы интересно услышать ваши переживания в любом случае. С уважением, –