Re[49]: Еще
От: CreatorCray  
Дата: 20.06.17 07:23
Оценка:
Здравствуйте, c-smile, Вы писали:

CS>Есть мнение что вы просто "не умеете это готовить".

Может быть, но из GDI удалось ~8х ускорение в сравнении с прямолинейным подходом выдавить а вот D2D до того же уровня разогнать не вышло.

CS>Мой htmlayout использовал GDI, sciter — Direct2D.

Я на sciter в своё время смотрел и не был впечатлён производительностью.

MSFT же по поводу GDI vs D2D официально пишет так: https://msdn.microsoft.com/en-us/library/windows/desktop/ff729480(v=vs.85).aspx

Contrasting Direct2D and GDI acceleration in Windows 7
Direct2D and GDI are both 2D immediate-mode rendering APIs and are hardware accelerated.


Справедливости ради есть оговорка:

GDI is ... accelerated on Windows 7 when the Desktop Window Manager is running and a WDDM 1.1 driver is in use

Т.е. по факту всегда.

CS> Во втором kinetic scrolling (60 FPS animation) full screen текста работает. В GDI нет, не успевает. Особенно на 200 dpi desktop monitors.

Мне ж не надо каждый кадр рендерить одно и то же, мне надо быстро нарисовать кадр с большим колвом разного чёткого текста а уже получившийся битмап потом можно скроллить как угодно.
Воткнул щас в скроллер perfcounter: BitBlt буфера, который в разы больше чем экран выполняется ~4.87 avg msec на 3440х1440, что более чем достаточно.

CS>Нет. Direct2D использует h/w acceleration font rendering в DrawGlyphRun. И для ClearType и gray scale AA. ClearType несколько другой но тем не менее.

Все D2D/DW text rendering примеры что я видел очень конкретно заикались на сравнительно небольшом колве текста в сравнении с тем, что мне было надо.
Но хуже всего было то, что на небольших размерах шрифта и стандартном DPI они рисовали плохо читаемое мыло.

Вот тут интересный анализ как например WPF рендерит шрифты:
http://community.sharpdevelop.net/blogs/dsrbecky/archive/2011/09/04/WPF-text-rendering-performance.aspx
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.