Сравнительный анализ графических систем WPF и WinForms
Изменения графических систем отображения Windows. Переход технологии WPF к DirectX. Анализ возможностей видеокарты и уровней визуализации. Использование программы для написания приложений в стиле Metro. Исследование существенных достоинств WinForms.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | статья |
Язык | русский |
Дата добавления | 17.04.2019 |
Размер файла | 15,6 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
ФГБОУ ВПО "Волгоградский государственный технический университет"
Сравнительный анализ графических систем WPF и WinForms
Штейников Р.С.
Введение Windows Forms - графическая система в составе .Net Framework. Представляет собой обертку вокруг Win32 API в управляемом коде. Считается заменой графической системы MFC, написанной под C++ и имеет сложную модель для разработки интерфейса программного продукта.
Windows Presentation Foundation - это графическая система в составе .Net Framework 3.0 и более поздних версий. Спроектирована под влиянием технологий HTML и Flash и использует аппаратное ускорение.
Изменения графических систем отображения Windows
Разработка графического интерфейса для Windows-приложений основывается на двух компонентах операционной системы: 1. User32 - содержит основные элементы окна;
2. GDI/GDI+ -- предоставляет функционал для рисования фигур, текста.
Эволюция графических систем прошла путь от сложной системы MFC до разработки на языках .Net и WinForms. Но как бы не совершенствовались технологии разработки, они всё равно опирались на User32 и GDI/GDI+, а значит, не смогли преодолеть фундаментальные ограничения базовых компонентов. Для решения этой проблемы была разработана технология WPF. Её главное отличие от WinForms в том, что для отображения графических компонентов используется не GDI/GDI+, а DirectX - технология, разрабатываемая Microsoft для создания игр в тесном сотрудничестве с изготовителями видеокарт, и по этой причине имеет поддержку аппаратного ускорения. И хоть от компонента User32 не отказались, его использование сводится к задачам не касающихся отображения графического интерфейса, например, определение положения окна. Все задачи, связанные с рисованием возложены на DirectX.
Преимущества WPF
Переход к DirectX представляет собой огромный шаг в развитии и, априори, предоставляет такое превосходство перед другими графическими система как аппаратное ускорение. Однако, WPF обладает и рядом других преимуществ, которые так же повышают его привлекательность для разработчиков.
Рассмотрим наиболее существенные изменения:
• Аппаратное ускорение. Как уже было сказано, DirectX разрабатывался в сотрудничестве с изготовителями видеокарт. Однако, просто мощной видеокарты недостаточно, необходима программная поддержка. Именно по этой причине с 2004 года изготовители видеокарт при написании драйверов следуют новым инструкциям от Microsoft.
Аппаратная поддержка предоставляется всем приложениям. В момент запуска анализируются возможности видеокарты и на основание полученных результатов присваивается уровень визуализации от 0 до 2.
Уровни визуализации:
1. Уровень 0 - отсутствие аппаратной поддержки.
2. Уровень 1 - частичная аппаратная поддержка.
3. Уровень 2 - полная аппаратная поддержка.
• Декларированный пользовательский интерфейс. Еще одно нововведение в WPF это язык разметки XAML, являющийся подмножеством XML. Хотя весь пользовательский интерфейс можно описать на языке C# (или другом языке .Net), технология WPF использует другой подход, следуя которому интерфейс описывается на языке XAML, а поведение программы записывается в коде. Теперь дизайнер и разработчик могут работать параллельно и не вникать в работу друг друга.
• Стили. В основу идеи отрисовки пользовательского интерфейса легла технология HTML. Переход к разработке на XAML дал возможность выводить свойства элементов окон в отдельные стили, по аналоги с CSS. И теперь изменить внешний вид окон стало ее проще, достаточно просто заменить файл со стилями.
• Модель рисования. Если в WinForms рисовали пиксели, то в WPF работают с примитивами - это уже готовые базовые фигуры и прочие графические элементы. Кроме того, имеется встроенная поддержка трехмерно графики.
• Анимация. В WinForm для того, чтобы форма отрисовала себя, необходимо использовать таймеры. При разработке технологии WPF в Microsoft пошли другим путем и дали ей поддержку анимации.
• Видео и аудио. WPF работает с любым форматом видео и аудио, поддерживаемого проигрывателем Windows Media. Есть возможно интегрировать видеосодержимое в любые части пользовательского интерфейса. Впечатляюще выглядит совместное использование трехмерной графики и видео.
• Команды. Также, как и в WinForms, в WPF присутствует событийная модель, базовые элементы были переписаны и наделены новыми возможностями, что также отразилось на событиях, и, тем не менее, принцип остался прежним. Иногда разные компоненты окна вызывают одно и тоже действие, но которое вызывается в разных обработчиках событий. В WPF появился способ вызвать реакцию элемента интерфейса через так называемые команды. Команды подчиняются определенным правилам, например, название метода оканчивается на Command, которое опускается при вызове метода.
• Приложения на основе страниц. Можно строить веб-подобные приложения на основе страниц, что дает возможность пользоваться навигацией.
• Безопасность. Ранее при разработке приложения, в него могли записать опасный код. Повышение уровня открытости и безопасности стали одними из причин появления языка XAML.
• Независимость от разрешения. WPF берет на себя компоновку элементов интерфейса подстраивая его под разные разрешения.
• Привязка данных. Привязать данные можно было и в WinForms, но в WPF этот механизм доведен до совершенства. Благодаря привязке существенно снижается количество строк кода и упрощает его анализ.
Заключение
Исходя из стратегии развития Microsoft, можно предположить, что технология WPF будет развиваться и дальше. Например, эта технология используется для написания приложений в стиле Metro.
Если сравнивать графические системы WinForms и WPF, то можно прийти к выводу, что вторая система имеет огромное превосходство. Единственным существенным достоинством WinForms можно назвать кроссплатформенность, такие приложения можно запустить на Mono. О планах по поддержке WPF в системах семейства Unix нет никаких сведений.
Но это не значит, что стоит забыть о технологии WinForms и все свои проекты переводить на WPF. Microsoft не сообщала о прекращение поддержки WinForms. Кроме того, у нее имеется большая история развития, а, следовательно, под неё написано множество готовых решений. Проекты, в которых пользовательский интерфейс стоит не на первом месте, могут быть написаны и на WinForms. графический видеокарта визуализация приложение
Библиографический список
1. МакДональд, Мэтью. WPF 4: Windows Presentation Foundation в .Net 4.0 с примерами на C# 2010 для профессионалов. : Пер. с англ. - М. : ООО «И.Д. Вильямс», 2011. - 1024 с. : ил. - Парал. тит. англ.
Размещено на Allbest.ru
...Подобные документы
Основы программирования графических приложений на основе DirectX для операционной системы Windows. Работа с различными интерфейсами. Описание некоторых функций, используемых для работы с Direct3D. Взаимосвязь между приложением, Direct3D и аппаратурой.
курсовая работа [156,2 K], добавлен 10.02.2015Общая характеристика основных и дополнительных возможностей графического стандарта OpenGL в области компьютерной графики. Исследование набора определенных инструментов и технологий DirectX, который используют разработчики игр и мультимедийных приложений.
реферат [160,8 K], добавлен 10.01.2012Использование DirectX для решения задач по выводу и обработке графики в Microsoft Windows. Описание используемых DirectX-функций. Исходный текст отлаженной программы. Техника работы с окнами. Результаты работы программы, составление алгоритма, листинг.
контрольная работа [226,0 K], добавлен 18.05.2014Общие сведения о графических редакторах, понятия компьютерной растровой и векторной графики, форматов. Обзор и сравнительный анализ современных программ обработки и просмотра графических изображений: Paint, Corel Draw, Adobe Photoshop, MS PowerPoint.
дипломная работа [283,9 K], добавлен 09.08.2010Общая характеристика операционных систем и приложений Windows. Разделение ресурсов, работа с окнами, назначение диска, видов памяти, системы сохранения и передачи данных. История возникновения приложений, их виды и особенности, порядок написания.
курс лекций [321,0 K], добавлен 24.06.2009История развития операционных систем семейства Windows и основные понятия системного администрирования. Определение востребованности операционных систем Windows, сравнительная характеристика их функции и возможностей, особенности применения на практике.
курсовая работа [38,5 K], добавлен 08.05.2011Общее понятие об оперативной системе Windows Vista. Сравнительный анализ систем Windows XP и Windows Vista. Специфика процесса установки, трехмерный интерфейс Aero Glass, действие некоторых мини-приложений. Новости управления папками, работа в интернете.
реферат [2,4 M], добавлен 01.02.2010Исследование особенностей среды разработки мультиагентных систем JADE. Изучение набора графических инструментов, позволяющего управлять и следить за активностью запущенных агентов. Анализ настройки параметров запуска проекта, написания кода, компиляции.
презентация [513,1 K], добавлен 21.04.2012Назначение серверных операционных систем. Сравнительный анализ серверных операционных систем Windows и Linux и сравнение их по важным показателям таким как: пользовательский графический интерфейс, безопасность, стабильность работы, возможность и цена.
курсовая работа [50,1 K], добавлен 03.07.2012Основные выпуски (редакции) операционных систем Windows Vista и Windows Seven, их недостатки и преимущества. История создания, совместимость приложений с операционными системами. Новшества, которые принесла в мир компьютерных технологий каждая из систем.
реферат [66,3 K], добавлен 17.02.2011История создания и общая характеристика операционных систем Windows Server 2003 и Red Hat Linux Enterprise 4. Особенности установки, файловых систем и сетевых инфраструктур данных операционных систем. Использование протокола Kerberos в Windows и Linux.
дипломная работа [142,7 K], добавлен 23.06.2012Общая характеристика графических редакторов "Adobe Photoshop – PSD" и "Coroll Draw – CDR". Анализ технологии и требований, предъявляемых к изделиям, с учетом их функционального назначения. Особенности создания календаря с помощью пакета Corel DRAW 12.
курсовая работа [27,3 K], добавлен 06.05.2010Типы графических объектов в среде Mathlab. Команды и функции, которые предназначены для открытия графических окон (figure) и принципы управления ими. Структура и работа программы, ее структура и сферы применения. Анализ результатов работы программы.
реферат [182,2 K], добавлен 21.01.2015Редактирование аналоговых и цифровых изображений. Описание графических форматов файла. Алгоритм отображения файла и реализации эффектов. Программа для работы с графическими форматами. Назначение и взаимодействие модулей. Перечень процедур и функций.
курсовая работа [516,8 K], добавлен 28.05.2013Понятие "компьютерная графика". Изучение графических редакторов в школьном курсе для 8-го класса. Способы создания цифровых графических объектов. Представление о цветовых моделях. Анализ программы Inkscape. Копирование файла в папку установки приложения.
курсовая работа [1,5 M], добавлен 17.05.2014Тематический план курса разработки цифрового образовательного ресурса по технологии создания электронных графических документов (электронных книг). Особенности сканирования, программное обеспечение. Основные возможности программы ABBYY Fine Reader.
дипломная работа [3,7 M], добавлен 07.07.2011Методика и основные этапы создания меню с командами Size, Paint, Quit, требования к нему. Порядок программной реализации сформированного алгоритма. Коды, реализуемые при нажатии команд. Разработка руководства пользователя. Результаты тестирования.
контрольная работа [2,0 M], добавлен 24.06.2013Анализ программы "Проводник". Понятие операционной системы (ОС). Достоинства и недостатки файловых систем. Исследование методов запуска программы "Проводник", работа с файловой структурой в программе "Проводник" ОС Windows. Приемы работы с объектами.
курсовая работа [32,7 K], добавлен 13.09.2009Основные моменты истории операционных систем, связывающих аппаратное обеспечение и прикладные программы. Характеристика операционной системы Microsoft Windows Seven, анализ операционной системы Linux. Преимущества и недостатки каждой операционной системы.
курсовая работа [63,0 K], добавлен 07.05.2011Описание математических методов представления и обработки графических изображений. Описание разработанного программного дополнения. Описание функций и их атрибутов. Представление и обработка графических изображений. Результаты тестирования программы.
курсовая работа [1,7 M], добавлен 27.01.2015