Что-то не могу с ходу нагуглить схему уровней графических интерфейсов в десятках. Там по-прежнему GDI непосредственно над видеодрайвером, и наиболее эффективен для статической отрисовки, а все более новое рядом или сверху, или какой-то из новых интерфейсов теперь внизу, а GDI эмулируется над ним?
Здравствуйте, Евгений Музыченко, Вы писали:
ЕМ>Что-то не могу с ходу нагуглить схему уровней графических интерфейсов в десятках. Там по-прежнему GDI непосредственно над видеодрайвером, и наиболее эффективен для статической отрисовки, а все более новое рядом или сверху, или какой-то из новых интерфейсов теперь внизу, а GDI эмулируется над ним?
Насколько я понимаю, это все — в первую очередь для анимаций, а меня интересуют API для отрисовки фигур, текстов и т.п. Из первого набора ссылок вроде подходит эта, но эта схема времен семерки. В новостях по десяткам описываются новшества в WDDM, но с ходу не понять, менялась ли в них сама архитектура.
Будем полагаться на то, что GDI и D2D по-прежнему актуальны.
ЕМ>Что-то не могу с ходу нагуглить схему уровней графических интерфейсов в десятках. Там по-прежнему GDI непосредственно над видеодрайвером, и наиболее эффективен для статической отрисовки, а все более новое рядом или сверху, или какой-то из новых интерфейсов теперь внизу, а GDI эмулируется над ним?
Так ведь аппаратное ускорение GDI сломали еще в висте, чутка починили в семерке (blitblt only) чтоб не ныли и с тех пор наверное не менялось. https://microsoft.fandom.com/wiki/Graphics_Device_Interface https://docs.microsoft.com/en-us/windows/win32/direct2d/comparing-direct2d-and-gdi
Как много веселых ребят, и все делают велосипед...
Здравствуйте, ononim, Вы писали:
O>Так ведь аппаратное ускорение GDI сломали еще в висте, чутка починили в семерке (blitblt only) чтоб не ныли и с тех пор наверное не менялось.
Спасибо! Я за этим никогда не следил, поскольку никогда не делал элементов GUI, меняющих состояние чаще десятка раз в секунду.
Насколько нынче актуален Direct2D для отдельных, небольших, но "быстро шевелящихся" элементов (например, индикаторы уровня сигнала с плавным цветовым градиентом по длине/высоте)? Или не стоит заморачиваться, и GDI по-прежнему вполне достаточно?
Здравствуйте, Евгений Музыченко, Вы писали:
ЕМ>Здравствуйте, ononim, Вы писали:
O>>Так ведь аппаратное ускорение GDI сломали еще в висте, чутка починили в семерке (blitblt only) чтоб не ныли и с тех пор наверное не менялось.
ЕМ>Спасибо! Я за этим никогда не следил, поскольку никогда не делал элементов GUI, меняющих состояние чаще десятка раз в секунду.
ЕМ>Насколько нынче актуален Direct2D для отдельных, небольших, но "быстро шевелящихся" элементов (например, индикаторы уровня сигнала с плавным цветовым градиентом по длине/высоте)? Или не стоит заморачиваться, и GDI по-прежнему вполне достаточно?
Смотря сколько этих индикаторов, для нескольких штук достаточно и GDI+.
если нужно много, Direct2D в 2D графике несколько раз быстрее.
Чтобы не было смаргиваний, по прежнему важно как реализована буферизация.