Удомельский форум

Удомельский форум (http://second.udomlya.ru/uf/index.php)
-   Программирование (http://second.udomlya.ru/uf/forumdisplay.php?f=26)
-   -   GDI vs. GDI+ (http://second.udomlya.ru/uf/showthread.php?t=12030)

Pitty 30.05.2008 00:19

GDI vs. GDI+
 
Кто-нибудь сравнивал по скорости?

Messiah 10.01.2009 11:23

Цитата:

Сообщение от Pitty (Сообщение 283393)
Кто-нибудь сравнивал по скорости?

О, реанимировали тему! :) Это говорило о том, что писал своё простенькое 3d API в то время? Ну коль уж вспомнили, то GDI+ опережает GDI, при условии аппаратной поддержки первым, которая позволяет выполнять некоторые функции быстрее. Т.е. GDI отстаёт от DirectDraw, а GDI+ его опережает. Но в сумме этот вопрос неблагодарен, все они хороши по своему для разных классов задач...

Pitty 10.01.2009 12:39

Цитата:

Сообщение от Messiah (Сообщение 370332)
О, реанимировали тему! :) Это говорило о том, что писал своё простенькое 3d API в то время? Ну коль уж вспомнили, то GDI+ опережает GDI, при условии аппаратной поддержки первым, которая позволяет выполнять некоторые функции быстрее. Т.е. GDI отстаёт от DirectDraw, а GDI+ его опережает. Но в сумме этот вопрос неблагодарен, все они хороши по своему для разных классов задач...

Странно, я почему-то слышал на форумах мнение, что GDI+ помедленнее будет. Вот и не понял, почему это.

Troll 12.01.2009 10:43

Цитата:

Сообщение от Pitty (Сообщение 370357)
Странно, я почему-то слышал на форумах мнение, что GDI+ помедленнее будет. Вот и не понял, почему это.

И не только на форумах, но и практически во всех умных книжках пишут, что GDI+ помедленней будет. GDI, GDI+ физически не могут не то что обгонять DirectDraw по скорости, а хотя бы приблизится к нему.

Pitty 12.01.2009 17:54

Цитата:

Сообщение от Troll (Сообщение 371109)
И не только на форумах, но и практически во всех умных книжках пишут, что GDI+ помедленней будет. GDI, GDI+ физически не могут не то что обгонять DirectDraw по скорости, а хотя бы приблизится к нему.

а может и в умных книжках читал, не помню. Так вот я и не понимаю, почему новая версия апи должна быть более медленной, ведь она более сильно должна задействовать аппаратную часть. В(

Troll 12.01.2009 18:02

Цитата:

Сообщение от Pitty (Сообщение 371206)
а может и в умных книжках читал, не помню. Так вот я и не понимаю, почему новая версия апи должна быть более медленной, ведь она более сильно должна задействовать аппаратную часть. В(

С чего бы? Может я чего пропустил? Ведь что GDI, что GDI+ работает на виндовозном апи, который по сути тормознутый в графическом плане дальше некуда. К тому же у GDI+ вроде как прилично увеличенный функционал.

Цитата:

GDI (Graphics Device Interface или Graphical Device Interface) — один из трёх основных компонентов или «подсистем», вместе с ядром и Windows API составляющих пользовательский интерфейс (оконный менеджер GDI) Microsoft Windows.
GDI — это интерфейс Microsoft Windows для представления графических объектов и передачи их на устройства отображения, такие как мониторы и принтеры.
GDI отвечает за отрисовку линий и кривых, отображение шрифтов и обработку палитры. Он не отвечает за отрисовку окон, меню и т. п., эта задача закреплена за пользовательской подсистемой, располагающейся в user32.dll и основывающейся на GDI. GDI схож с классическим QuickDraw у Apple.
Одно из наибольших преимуществ использования GDI вместо методов прямого доступа к оборудованию — это возможность расширения функций над различными устройствами. Используя GDI, можно легко рисовать на нескольких разных устройствах, таких как экран или принтер, и достичь практически одинакового отображения на них. Эта возможность лежит в центре всех WYSIWYG приложений для Microsoft Windows.
Простые игры, которые не требуют быстрой графики, используют GDI. Однако GDI не может обеспечить качественную анимацию (нет возможности синхронизации с framebuffer (буфером кадра)). Также GDI не хватает растеризации для отрисовки 3D графики. Современные игры используют DirectX или OpenGL, что даёт программистам доступ к большему количеству аппаратных возможностей.
Цитата:

GDI+
После выхода Windows XP, использование GDI стало нежелательным из-за выхода в свет его потомка, подсистемы GDI+, основанной на C++. GDI+ является улучшенной средой для 2D графики, в которую добавлены такие возможности, как сглаживание линий (antialiasing), использование координат с плавающей точкой, градиентная заливка, внутренняя поддержка современных графических форматов (таких как JPEG и PNG), преобразования 2D матриц и т. п. GDI+ использует ARGB цвета. Эти возможности используются в пользовательском интерфейсе Windows XP, а их присутствие в базовом графическом слое облегчает использование систем векторной графики, таких как Flash или SVG. Динамические библиотеки GDI+ могут распространяться вместе с приложениями для использования в предыдущих версиях Windows.
В .NET можно использовать функции GDI+ через пространство имен System.Drawing.
GDI+ схож с подсистемой Quartz 2D у Apple и open-source библиотеками libart и Cairo.
Инфа правда с вики, но тем не менее. Никакой аппаратной поддержкой и не пахнет. Только универсальность, зато хоть на мониторе, хоть на принтере - один фих )

Messiah 12.01.2009 22:24

Цитаты конечно хороши и иногда помогают составить более мнее верное представление о сути вопросов. Однако часто в противовес вступает практика, которая порой полностью опровергает диктуемые постулаты. :) У практических программеров по поводу быстродействия сабжа, ох какие неоднозначные мнения. Здесь тоже можно порассуждать об их верности, рассматривая круг решаемых задач, степень оптимизации и много чего прочего. Но как я уже говорил, тема эта отчасти "неблагодарна", ибо не имеет единственно верного итога, и может ввергнуть в пучину безсмысленных и долгих рассуждений. :)


Текущее время: 20:14. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot