Нам нужно оптимизировать отрисовку текста для приложения C # Windows Forms , отображающего большое количество маленьких строк в неправильной сетке. В любое время может быть видно более 5000 ячеек, которые обновляются 4 раза в секунду. Семейство и размер шрифта одинаковы для всех ячеек, хотя цвет может варьироваться от ячейки к ячейке, как это будет выделено жирным шрифтом / курсивом / простым шрифтом.
Я видел противоречивую информацию в Интернете о том, что TextRenderer.DrawText
против Graphics.DrawString
является самым быстрым / лучшим, что сводится к GDI против GDI + сравнения на Win32 уровень.
Я также видел радикально отличающиеся результаты в Windows XP по сравнению с Windows Vista, но моя главная цель - Windows XP. Статьи, обещающие большие успехи
под WinFX и DirectX 10 здесь не помогают: -)
Какой здесь лучший подход? Я не боюсь представить небольшой слой C ++ / CLI и оптимизировать обработку контекста устройства, чтобы снизить производительность, но мне хотелось бы дать определенный совет о том, какое направление выбрать.
EDIT:
Спасибо за первоначальные ответы. Я попробую комбинацию фонового рендеринга растрового изображения и придерживаться эквивалентных вызовов GDI.