Техническая библиотека CITForum.ru CITKIT.ru - все об Open Source Форумы Курилка
Все новости / Все статьи Деловая газета - шквал(!) IT-новостей :: CITCITY.RU
Первая полоса ИТ-Инфраструктура Телекоммуникации Безопасность BI Интеграционные платформы КИС IT-бизнес Ширпотреб Точка зрения

20.09.2017

Новости:


Все новости

Ширпотреб

Рабочий стол на стероидах

Мы все — свидетели очередной, правда, вялотекущей революции. Стремление программистов сделать пользовательский интерфейс еще более дружелюбным, удобным и красивым вылилось в совершенно новую тенденцию — задействовать в этом процессе современную аппаратуру на все сто процентов.

Вспомним, как в DOS-эру верхом совершенства считался двухпанельный интерфейс легендарного Norton Commander и его клонов. И как резко изменилось восприятие интерфейса с появлением Windows — в основной своей массе отечественные пользователи впервые увидели 3.1 либо 3.11 «фор воркгрупс». Возможно, что и среди наших читателей кое-кто так и остался с DOS и Norton Commander и может несколько неадекватно воспринять все нижеследующее. Но будем категоричны: прогресс в области пользовательского интерфейса ушел вперед на световые годы, а командная строка (не обязательно в DOS) осталась служить либо закоренелым ортодоксам, либо тем, кому и так хорошо, либо на тот случай, когда без нее не обойтись, например, в силу решаемых задач.

Сегодня под всеми видами существовавших до недавнего времени популярных пользовательских текстовых и графических интерфейсов можно подвести жирную черту и написать под ней: «Они были примитивными». Это означает, по сути, что все усилия художников, дизайнеров и разработчиков в итоге «обстругивались» элементарным конечным алгоритмом, при котором особая область памяти — буфер — видеоадаптера заполняется цифрами и содержимое этой области после некоторой цифроаналоговой обработки отображается на дисплее. Проще уже некуда. Видеокарта может обладать графическим процессором неслыханной производительности и иметь сколь угодно большой объем бортовой памяти — для отрисовки пользовательского интерфейса это все не важно, ему требуется лишь количество точек по вертикали умножить на количество точек по горизонтали, да на разрядность цвета, да поделить на восемь. Вот и все скромные требования к памяти, выраженные в байтах.

Если взять два современных компьютера, но в первом установить какой-нибудь самый-самый Radeon или GeForce, а во втором древний S3 Virge и попросить пользователя составить впечатление от работы на том и другом (не давая при этом возможности запустить ничего, кроме Internet Explorer или Microsoft Excel) — он никогда в жизни не определит, где какой графический процессор. Это говорит не о том, что S3 Virge то же самое, что Radeon, это говорит о том, что процедуры отрисовки интерфейса популярных операционных систем застопорились в развитии лет восемь назад. А новомодные функции и вообще вся мощь современных графических адаптеров задействованы исключительно в играх, да еще — частично — в мультимедиаприложениях.

Такая ситуация подразумевает право на жизнь так называемой «интегрированной бюджетной графики», которая с успехом справляется с нагрузками, возникающими при отображении пользовательского графического интерфейса, не слишком при этом утяжеляя цену конечного продукта — системной платы. Но с другой стороны, армада высокопроизводительных графических решений огромное количество времени работает буквально вхолостую, не оправдывая и двадцатой части потраченных на нее средств.

Высказывая подобную точку зрения на ситуацию, я, разумеется, сгущаю краски, но это требуется для того, чтобы оттенить всю глубину пропасти между бюджетными («необходимыми и достаточными») решениями и высокопроизводительными графическими монстрами, которым по плечу все и вся. А также для того, чтобы обратить внимание на следующий факт: все бюджетные решения с тем или иным ускорением движутся в сторону производительных. Обратите внимание, сегодня никто из производителей не связывается с чипами, сравнимыми по производительности с тем же Virge, хотя ее с головой хватает для обычной офисной работы. Как раз наоборот, пытаясь реализовать в дешевых интегрируемых чипсетах как можно больше возможностей, производители стремятся хотя бы на йоту приблизить бюджетные решения к высокопроизводительным. И тому есть много причин, анализ которых выходит за рамки этой статьи, но одну стоит отметить: интерфейс сегодняшнего и завтрашнего дня уже не удовлетворится элементарными возможностями графического процессора. Ему нужна мощь.

Разумеется, интерес к данной теме в немалой степени подстегивается анонсами и слухами вокруг грядущего выхода Windows Vista. До этого события еще примерно полгода, но что такое полгода в сравнении с пятью годами разработки? Капля в море. Даже самое поверхностное исследование вопроса показывает, что сегодня уже все семейства операционных систем уровня пользователя способны освоить возможности современных мощных видеоадаптеров.

Всего можно насчитать три наиболее популярных типа пользовательских операционных систем. Это, конечно, Microsoft Windows, Apple Mac OS X и Unix/Linux. Не будем забираться в методологические дебри, делить каждый из этих типов на виды и подвиды, а просто определим три наиболее крупных сектора рынка. И самое интересное, что и Mac OS X, и Unix/Linux уже достаточно давно и успешно предлагают технологии, позволяющие охватить вниманием львиную долю производительности графических чипсетов.

Вопрос остается открытым лишь в отношении Vista, но и здесь практически все нюансы уже известны как из официальной информации Microsoft, так и благодаря регулярным выпускам предварительных ознакомительных и тестовых версий операционной системы.

Примечательна одна существенная деталь. В наше «довистовое» время множество производителей интегрированных графических решений, применяемых в портативных или офисных машинах, веско доказывают, что в этих секторах рынка графические «сладости» ни к чему — для отрисовки интерфейса хватает и минимальных возможностей. Но можно биться об заклад, что через полгода-год (с выходом Vista) как из рога изобилия посыплются пресс-релизы о том, что «производитель Х выпустил офисный/мобильный ПК на базе платформы Y с поддержкой всех графических возможностей интерфейса операционной системы Z», при этом нынешние доводы прочно забудутся.

Что ж, спрос рождает предложение, и коль скоро он есть (вернее, ожидается), наша святая обязанность осветить ситуацию «предспросового» периода.

Современные графические процессоры нацелены на ускорение трехмерной графики. Если графический интерфейс пользователя не нуждается в ускорении трехмерной графики, нужно сделать так, чтобы нуждался. То есть он должен стать трехмерным — как минимум с точки зрения графического процессора, чтобы было что ускорять. Это и глазу пользователя приятней, и взбодрит продажи видеокарт (а значит, и настроение производителя, маркетолога, программиста и прочих).

Однако здесь важно не перегнуть палку: интерфейс должен сносно шевелиться при наличии графического процессора среднего ценового диапазона, иначе можно спровоцировать существенное недовольство в стане пользователей. Желательно, чтобы для отрисовки требовался совершенно средненький графический чипсет. Попытаемся рассмотреть, как с этим обстоит дело у всех трех перечисленных семейств операционных систем.

Apple Mac OS X

С точки зрения обертки, а точнее, пользовательского интерфейса под названием Aqua, Mac OS X бесконечно далека от того состояния, в котором ныне пребывают представители лагеря Unix/Linux.

Интерфейс всегда был сильной стороной Apple, и можно смело утверждать, что в этом вопросе она всегда была на шаг впереди конкурентов во главе с Microsoft. Mac OS X интересна и тем, что обеспечивает единый подход к формированию изображения на экране монитора и на принтере. Графическая система Mac OS X основана на трех графических технологиях, обеспечивающих работу с двух- и трехмерной графикой. Следует также отметить, что все описанные ниже графи- ческие технологии поддерживают так называемый Velocity Engine — модуль процессоров POWER, обеспечивающий аппаратную работу с векторной графикой Quartz. Этот компонент отвечает за вывод двухмерной графической информации.

С помощью Quartz осуществляется управление цветностью и разрешением (стандартными являются разрешение 1024×768 точек при глубине цветности 16 бит), а также сглаживание (anti-aliasing). Quartz обеспечивает такие графические механизмы, как 2D-ускорение и доступ к кадровому видеобуферу. В основе Quartz лежит технология PDF, разработанная и широко применяемая компанией Adobe Systems.

Но как быть с недавним шумным переводом компьютеров Apple на платформу Intel, в процессорах которой не было никаких Velocity Engine? Так-то оно так, скажете вы, зато у Intel есть целая колода расширенных наборов инструкций: MMX, SSE, SSE2, SSE3, а теперь уже и SSE4. Если даже SSE2 способен был с успехом заменить морально устаревший, но оставленный для совместимости модуль вычислений с плавающей точкой (FPU), то что ж говорить об обойме с SSE3 и SSE4. Стоит предположить, что инструкции семейства SSE справились с задачами, ранее возлагавшимися на Velocity Engine.

Двухуровневая архитектура типа «клиент — сервер», реализованная в Quartz, позволяет осуществлять гибкую и скоростную работу приложений с графикой. Низший уровень (базовые графические сервисы) обеспечивает серверные функции управления окнами, поддержки событий и пр. для приложений-клиентов, которые и занимаются непосредственно отображением графической информации. Помимо встроенного в Quartz клиента отображения, Mac OS X предоставляет в распоряжение приложений библиотеку двухмерной графики QuickDraw — OpenGL.

Основным клиентом отображения трехмерной графики в Mac OS X является библиотека OpenGL, модифицированная Apple для работы с Core Graphics Services (стандарт OpenGL был в свое время разработан компанией Silicon Graphics). Нет нужды представлять эту библиотеку, так как без нее не обходится сейчас практически ни одно приложение, особенно мультиплатформенное, работающее с трехмерной графикой.

Но где же здесь ускорение трехмерной графики? Дело в том, что до определенной версии Mac OS X вся обработка элементов интерфейса осуществлялась исключительно центральным процессором — при участии упоминавшегося Velocity Engine. В итоге интерфейс Aqua выглядел потрясающе красиво — например, с отбрасывающими тень полупрозрачными окнами на рабочем столе. Но временами заг рузка процессора наводила на мысль, что красота все-таки требует немалых жертв. Да, весь продвинутый интерфейс вполне можно нарисовать целиком программно.

Но при этом и возможностей для маневра останется крайне мало, разве что открыть пару-тройку приложений и восхищаться вкусом дизайнеров. Видимо, примерно в том же направлении мыслили и инженеры Apple, ведь впоследствии в Mac OS X появилась новинка — графический движок Quartz 2D Extreme. Quartz 2D Extreme уже не расходует попусту вычислительную мощность процессора, направляя ее в более приемлемое русло: рендеринг интернет-страницы или оцифровку фильма с видеокамеры. Элементы интерфейса теперь обрабатываются при помощи графического процессора с использованием OpenGL. Весь «экран» режется на отдельные элементы, которые впоследствии представляются как AGP-текстуры и попадают в мясорубку графического чипа. А уж там фантазия практически не знает границ: наложение других текстур, тени, прозрачность, повороты и искажения — все это детские игрушки для процессора, скажем, уровня Radeon 9600. В итоге Aqua выглядит не только красиво, но и сам интерфейс стал совсем воздушным, точнее, «жидким», как вода. И видеокарта при деле.

Нет сомнений, Microsoft извлекла из опыта Apple правильные выводы, и это будет не Microsoft, если интерфейс у Vista не обойдет Aqua.

Однако посмотрим, чем тем временем могут порадовать пользователя ближайшие родственники Mac OS X, в частности Linux.

Unix/Linux

У подавляющего большинства систем из этого уважаемого академического клана есть одно великое достоинство — они, как правило, бесплатны. Это достоинство, однако, нередко оборачивается и недостатком, ведь огромное количество программного обеспечения разрабатывается на голом энтузиазме и не предполагает какой-либо ответственности перед пользователями. Казалось бы, перспективный проект может быть заброшен и забыт лишь потому, что у его автора в этот момент устраивается личная жизнь и ему не до программирования. Но, как говорил кузнец из «Формулы любви», «ежели один человек построил, другой завсегда разобрать может», то есть в случае если проект действительно стоящий, скорее всего его подхватят другие разработчики и сделают еще лучше.

Некоторые фундаментальные вещи имеют историю в десятки лет — в частности, это относится и к основополагающему понятию в сфере пользовательского интерфейса — X-серверу. Вспомним эпохальное событие 1984 года — анонс графической подсистемы X Window System (Project Athena), родившейся в недрах MTI (Массачусетского технологического института), — с тех пор X Window System является основной графической системой для ОС семейства Unix.

Помимо основной задачи — отображения графических примитивов — X Window позволяла удаленную работу посредством сети. Пользователь за локальным терминалом работает лишь с вводом и выводом для X Window, сама же система выполняется на другом компьютере.

На сегодня X Window system имеет версию 11. Версии 1—6 были монохромными и работали на дисплеях DEC VS100, подключенных к рабочим станциям VAXen и VAXstation 1 и 2. Версии 8—10 уже подразумевали расширение цветовой палитры и работали на VAXstation II/GPX — но с замечательной возможностью выполнения на аппаратуре и других производителей. Актуальная версия 11 имеет полностью пересмотренную архитектуру на предмет увеличения производительности, расширяемости и качества работы с графикой.

Но с точки зрения однопользовательской работы, X — это настоящий мастодонт, обремененный множеством ненужных в данном случае функций и не отвечающий насущным требованиям. Будем справедливы, на «X Window System» свет клином не сошелся, существуют прекрасные коммерческие разработки Accelerated X или MetroX, в полной мере задействующие возможности аппаратуры и предоставляющие необходимый функционал. Но ключевое слово здесь — «коммерческие», что подразумевает покупку за деньги, а это в мире открытого/свободного программного обеспечения выглядит совсем неспортивно.

До недавних пор X совершенно не хватали звезд с неба, обеспечивая необходимый пользовательский минимум. Что уж тут говорить о поддержке всех возможностей современных видеокарт. Хотя здесь нет вины разработчиков X — сами производители чипсетов иногда не удосуживаются обеспечить поддержку разработчикам, хотя в последнее время, с популяризацией того же Linux на корпоративном рынке, ситуация меняется к лучшему.

Как заведено в клане Unix/Linux, помощь сообществу приходит от серьезных игроков. На этот раз благотворительностью блеснула компания Novell, которая «подобрала» зачахший было проект Xgl и вдохнула в него новую жизнь. Разработка Xgl была начата еще в 2004 году, но над ней трудилось лишь небольшое сообщество программистов.

Теперь Novell решила вплотную заняться перспективной технологией и включить Xgl в свой дистрибутив. Полной благотворительностью это явление назвать нельзя — пожалуй, Novell с удовольствием взяла бы и сделала Xgl закрытым, чтобы охотней покупали ее дистрибутив SuSe, — но лицензия Xgl завещала «делиться».

Xgl открывает разработчикам возможности создания прозрачных объектов, трехмерных эффектов и масштабирования окон. Другое направление — ускорение работы интерфейсов, например, вывода текста. Оба подхода как нельзя лучше вписываются в свободную нишу X-сервера, и теперь графический интерфейс в Linux может выглядеть роскошно. На одном из своих мероприятий Novell показывала Xgl «живьем» — тем, кому не удалось увидеть это своими глазами, советую найти в Сети видеоролики, зрелище однозначно стоит того.

На фоне Xgl возможности Mac OS X выглядят уже не так убедительно — оказывается, окна могут попросту «оживать», как будто нарисованы не в виде строгого прямоугольни- ка, а отлиты из желе. При помощи Xgl можно, к примеру, представить виртуальные рабочие столы в виде граней куба и при переключении между ними наблюдать впечатляющий эффект вращения.

Внутри — все как обычно. Xgl использует OpenGL-акселерацию, что и неудивительно — другого пути попросту нет, ведь DirectX доступен только для ОС семейства Windows. Подключение ресурсов OpenGL к отрисовке рабочего стола важно также для повсеместной реализации векторной графики. Работы над этим ведутся, в частности, авторами оконного менеджера Gnome

в рамках проекта Cairo. Novell планирует и дальше способствовать развитию Xgl и создавать дополнительные компоненты (здесь применяется еще одна разработка компании — Compiz).

Фактор, способный помешать глобальному распространению продвинутой графики на рабочих столах Unix/Linux-систем, — отсутствие полноценных открытых драйверов оборудования. Основные поставщики графических процессоров — ATI и NVidia вовсе не торопятся открывать исходные коды своих драйверов, а имеющиеся свободные решения неспособны достичь качества фирменных, «родных».

Windows Vista

Достойный ответ от Microsoft пока не прозвучал окончательно, но можно не сомневаться, что миллионы-миллиарды долларов на разработку интерфейса Aero потрачены не напрасно. Пока не вышел релиз операционной системы Vista, мы не вправе что-либо категорично заявлять, но кое-какие выводы сделать можно уже сейчас — на основе публичных бета-версий. Так, более-менее уверенно можно говорить о системных требованиях новой графической подсистемы Windows. На сегодня они таковы: 256/512 Мбайт видеопамяти для разрешения 1920×1080 пикселей, Windows Display Driver Model (WDDM), интерфейс AGP 8X или PCI Express x16, совместимость с DirectX 9.0c, Pixel Shader 2.0. А это очень и очень немало, особенно если иметь в виду, что вся описанная выше мощь требуется для отрисовки иконок и окошек.

Если Apple назвал свой интерфейс Aqua («вода»), то Microsoft назвала свою разработку Aero («воздух»). Не все современные видеокарты способны работать с Aero, но те, что достаточно мощны, обеспечивают фантастические эффекты.

В дополнение к прозрачным рамкам окон Aero также включает Flip 3D (WinKey+tab) — это замена современному механизму переключения окон по Alt+Tab с миниатюрами запущенных приложений, а также различные привлекательные эффекты анимации.

Подытоживая сказанное, замечу: относительно спокойная наша с вами жизнь кончилась. Теперь компьютер будет вовсю шевелить прозрачными окнами, переливаться рабочими столами, а видеокарта — отрабатывать каждый вложенный доллар в течение всего своего рабочего дня, от включения до выключения системного блока. И если сегодня упомянутую в самом начале революцию я назвал вялотекущей, то с момента официального выхода Vista она станет совершенно явной. Конечно, вольному воля, и никто насильно не заставит пользователей работать с резко продвинувшимися в плане красоты операционными системами. Но рано или поздно это случится само собой, подобно плавной замене черно-белых телевизоров цветными (тогда ведь тоже никто никого не заставлял их менять, просто черно-белые перестали выпускать). Так что в свое время и «двумерный» рабочий стол, подчинившись эволюции, отомрет как вид и займет свое почетное место в ряду пользовательских интерфейсов — в промежутке после командной строки, но перед трехмерными и какими-нибудь еще более прогрессивными собратьями, которые будут, например, источать аромат или позволят трогать себя рукой…



IT News

Комментарии

L, Sun Apr 15 22:56:38 2007:
Эх, бедные виндоузятники... :)
Всё равно все пересядут на висту. Новые игры будут только под директх10, который только в висте.
fyjybv, Sat Apr 14 18:39:07 2007:
Собственно вот ссылки на beryl и на скриншоты:
http://ru.wikipedia.org/wiki/Beryl
http://blog.web2.com.ua/2007/02/07/beryl_020
Хорошее описание технологии:
http://www.knoppix.ru/050207.shtml
Словом набрал скриншот beryl, ссылок куча.

http://www.grove.org.ru/people/cornelius/blog/vista-and-beryl
Прикольно, а ведь выход свисты был задержан именно из за появления xgl/compiz, которые потребовалось срочно слизать.

Хотя мне лично по кто и что использует и никого убеждать не собираюсь. Но все равно технология классная, ктому же позволяет увидеть все прелести 3D рабочего стола без замены комплектующих.
fyjybv, Fri Apr 13 18:53:56 2007:
И вот это странно - на каких же тогда дровишках крутилась презентация xgl фирмы Novell, если ничего адекватного под линух, по словам аффтара, нет?
fyjybv, Fri Apr 13 18:11:40 2007:
>>Нет сомнений, Microsoft извлекла из опыта Apple правильные выводы, и это будет не Microsoft, если интерфейс у Vista не обойдет Aqua.

Это вряд ли, с самого начала было сомнительно.

>>Но ключевое слово здесь — «коммерческие», что подразумевает покупку за деньги, а это в мире открытого/свободного программного обеспечения выглядит совсем неспортивно.

Глупости, бред сивой кобылы.

>>отсутствие полноценных открытых драйверов оборудования ...
Им это и не нужно - открывать исходники. Закрытые драйвера преспокойно можно скачать под свой дистр и ядро, если они есть, конечно. Либо вообще скачать инсталлятор с тех же сайтов NVidia/ATI. Всего то и нужно - средства разработки и исходники ядра. Исключая специализированные дистры, в любом дистре все уже есть. Пишу для тех кто не знает ибо статья явно заказная, предназначенная, чтобы заморочить людям моски.

>>Microsoft назвала свою разработку Aero («воздух»)

Классный слоган - плати за воздух:S

xgl/beryl самое то и крутится без тормозов на GeForce2 MX 400. Что уж говорить о более навороченных карточках. Что и говорить руки у програмеров M$ явно растут из одного места. Возможно недостатки архитектуры ОС тоже сказываются ибо производительностью венда не блещет. Видел тесты в играх cedega 6.0, по количеству fps свиста явно в ж по сравнению с нативной гамесой под линух, запускаемой в режиме эмуляции и в ХР.
Nick S., Thu Apr 12 19:01:00 2007:
Mac OS X это вобще-то BSD-подобная ос, а BSD это Unix! Так что у вас ошибка потому-что Mac OS X это Unix-подобная операционая система!

Комментарии заморожены.

Последние комментарии:

Самое интересное:


© 2004–2009 Проект CITCITY.ru