Компонующий администратор окон рабочего стола

Иллюстрации

Показать все

Изобретение относится к компьютерной графике и компьютерным операционным системам, в частности к способу воспроизведения рабочего стола на компьютере, использующем операционную систему с моделью компонованного рабочего стола. Техническим результатом изобретения является расширение возможности по представлению визуально богатого контента и использование улучшений в технологии графического воспроизведения. Технический результат достигается благодаря тому, что администратор окон компонованного рабочего стола при принятии контентной информации от прикладных программ рисует окно в буферную память для будущего использования и пользуется преимуществом улучшенного графического аппаратного обеспечения и визуальных эффектов, чтобы воспроизводить окна, базируясь на контенте, на котором они рисуются. Окна могут также воспроизводиться, базируясь на переменных средах, включающих в себя виртуальные световые источники. Фреймовая часть каждого окна может генерироваться пиксельным затенением битовой карты, имеющей внешний вид матированного стекла, базируясь на контенте рабочего стола, на вершине которого фрейм отображается. Предоставляется поддержка наследия так, чтобы операционная система могла рисовать и воспроизводить окна, сгенерированные унаследованными приложениями, чтобы выглядеть совместимо с окнами приложений не из наследия. 7 н. и 29 з.п. ф-лы, 8 ил., 1 табл.

Реферат

Область техники, к которой относится изобретение

Изобретение относится в общем к компьютерной графике и компьютерным операционным системам. Более конкретно, изобретение предоставляет 3D компонующий администратор окон рабочего стола, со встроенной поддержкой для не поддерживающих компоновку унаследованных приложений, для управления и воспроизведения рабочего стола на единичном или множестве компьютерных дисплеев для операционной системы.

Уровень техники

Компьютерные операционные системы обычно имеют оболочку, которая предоставляет графический пользовательский интерфейс (GUI) для конечного пользователя. Оболочка состоит из одного или комбинации компонентов программного обеспечения, которые предоставляют прямое взаимодействие между пользователем и операционной системой. Графический пользовательский интерфейс обычно предоставляет графическую ориентированную на пиктограммы и/или управляемую посредством меню среду для пользователя для взаимодействия с операционной системой, и часто базируется на метафоре рабочего стола. Более конкретно, графический пользовательский интерфейс проектируется, чтобы моделировать действия работы на рабочем столе, как в реальном мире. Среда рабочего стола обычно занимает всю поверхность единичного отображающего устройства или может охватывать множество отображающих устройств, и хосты подчиняют объекты пользовательского интерфейса, такие как пиктограммы, меню, курсоры и окна.

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

Недостаток для многих предыдущих осуществлений графического пользовательского интерфейса рабочего стола состоит в их ограниченной возможности представлять визуально богатый контент или использовать улучшения в технологии графического воспроизведения. Такие улучшения включают в себя воспроизведение в реальном времени физически смоделированного (освещенного, затененного, текстурированного, прозрачного, отражающего и преломляющего) двух и трехмерного контента и гладких, высокопроизводительных анимаций. В отличие от ограниченных сервисов, доступных для использования улучшений графического воспроизведения на рабочем столе, визуально богатый контент возможен в определенных прикладных программах, выполняющихся в окне или в полном экране, в графических пользовательских интерфейсах операционных систем марки Windows(R) и подобных оболочек операционных систем. Типами прикладных программ, которые представляют такой контент, являются видео игры с 3D анимацией реального времени и эффектами, улучшенные графические инструменты для авторской работы, такие как трассировщики луча (ray tracers) и улучшенные 2D и 3D издательские приложения. Так как визуальный вывод этих программ либо ограничен контентной областью его окна/окон приложения или воспроизводится в полном экране, исключая другие окна и сам рабочий стол, богатый графический вывод прикладной программы никаким способом не содействует представлению среды рабочего стола.

Компьютерные операционные системы применяют уровень программного обеспечения, ответственный за управление объектами пользовательского интерфейса, такими как пиктограммы, меню, курсоры, окна и рабочие столы; арбитрирование событий из устройств ввода, таких как мышь и клавиатура; и предоставление сервисов пользовательского интерфейса программным приложениям. Этот уровень программного обеспечения может назваться как администратор окон рабочего стола (DWM, Desktop Window Manager). Воспроизводящая логика, маршрутизация событий ввода и интерфейсы прикладного программирования (API) администратора окон рабочего стола (DWM) коллективно осуществляют политику пользовательского интерфейса, которая, в свою очередь, определяет всеобъемлющий пользовательский опыт операционной системы. Первичной причиной отсутствия богатых, визуальных рабочих столов до настоящего времени были способы, посредством которых администраторы DWM управляли и воспроизводили рабочий стол. Предыдущие осуществления DWM применяют модель "признания недействительности" для воспроизведения рабочего стола, которая развилась первоначально из необходимости сохранять ресурсы видео и системной памяти, также как пропускной способности CPU и GPU.

В модели признания недействительности, когда окно изменяют в размерах или передвигают, или, когда приложение желает перерисовать все или часть окна, затронутая часть дисплея "признается недействительной". DWM внутренне признает недействительными области, затронутые изменением размера или перемещением окна, тогда как приложение, пытающееся перерисовать все или часть своего собственного окна, инструктирует операционную систему, через API, признать недействительной заданную область своего окна. В любом случае, DWM обрабатывает запрос признания недействительности посредством определения подобласти запрошенной области, которая действительно нуждается в обновлении на экране. DWM обычно выполняет это посредством обращения к поддерживаемому списку пересекающихся областей, ассоциированных с целевым окном, других окон, перекрывающих целевое окно, областей вырезания, ассоциированных с затрагиваемыми окнами, и видимых границ дисплея. DWM последовательно отправляет каждому затронутому приложению сообщение рисования, определяющее область, нуждающуюся в обновлении, в приписанном порядке сверху-вниз. Приложения могут выбирать либо принимать на обработку, либо игнорировать заданную область. Любое рисование, выполняемое приложением вне локальной обновляемой области, DWM автоматически вырезает, используя сервисы, предоставляемые графической воспроизводящей машиной более нижнего уровня, такой как интерфейс графических устройств (GDI).

Преимущество модели сообщений признания недействительности состоит в сохранении памяти дисплея. То есть DWM, основанный на признании недействительности, только должен поддерживать достаточную буферную память, чтобы вычерчивать единичный рабочий стол, без "запоминания" того, что могло быть под ныне отображаемым контентом. Однако так как окна на рабочем столе воспроизводятся в порядке сверху-вниз, признаки, такие как непрямоугольные окна и богатые 2D анимации через GDI, требуют CPU интенсивных вычислений со сложными областями и/или обширным обследованием поверхности дисплея (таким образом ограничивая потенциал для графического ускорения, основанного на аппаратном обеспечении), тогда как другие признаки, такие как прозрачность, затенения, 3D графика и улучшенные световые эффекты экстремально трудны и очень ресурсоемки.

В качестве примера администратор окон из Microsoft Windows(R) XP, исторически известный как USER, служил в качестве господствующего компонента подсистемы графического пользовательского интерфейса (теперь известной как Win32) с появления операционной системы марки Windows(R). USER применяет 2-мерную графическую воспроизводящую машину с интерфейсом графических устройств (GDI), чтобы воспроизводить дисплей. GDI является другим главным подкомпонентом из Win32 и базируется на технологии воспроизведения, присутствующей в исходной операционной системе марки Windows(R). USER воспроизводит каждое окно на дисплей, используя модель сообщений признания недействительности, во взаимодействии с GDI, вырезающим области, и 2D рисующими примитивами. Первичная деятельность USER в воспроизведении рабочего стола включает в себя идентификацию областей дисплея, нуждающихся в визуальном обновлении, и информирование приложений о необходимости и месте рисования, согласно модели воспроизведения рабочего стола с признанием недействительности.

Следующим развитием в воспроизведении рабочего стола является подход воспроизведения снизу-вверх, называемый как компоновка рабочего стола. В компонующем DWM, или CDWM, рабочий стол вычерчивается от нижнего слоя до верхнего слоя. То есть задний план рабочего стола вычерчивается первым, затем следуют пиктограммы, папки и контент, сидящий непосредственно на рабочем столе, затем следует папка/папки один уровень вверх, и так далее. С помощью воспроизведения рабочего стола снизу вверх каждый итеративный слой может основывать свой контент на слое под ним. Однако компоновка рабочего стола - это напряженный для памяти процесс, так как CDWM поддерживает в памяти копию каждого элемента, вычерчиваемого на рабочем столе. До недавних изменений рынка и технологий производства, которые улучшили видеоаппаратное обеспечение и компьютерную память гораздо больше возможного, только коммерческие, дорогие, высокого класса компьютерные системы были способны реализовывать компонующие машины, такие как для подготовки специальных эффектов для фильмов.

Эволюция среднего и нижнего класса компьютерного аппаратного видеообеспечения была приведена в движение в большей части графическими сервисами, имеющимися в популярных операционных системах. Однако эти графические сервисы, имеющиеся в популярных операционных системах, значимо не улучшились по ряду причин, включающих в себя необходимость поддерживать совместимость с более старым прикладным программным обеспечением и ограниченные возможности доступного ряда видеоаппаратного обеспечения. Более недавно, однако, 3D компьютерные игры реального времени обогнали операционные системы, так как основной рынок побуждает развитие розничного видеоаппаратного обеспечения, которое в короткое время достигло исключительного уровня совершенствования. 3D акселерация реального времени, основанная на аппаратном обеспечении, теперь доступна потребителям по разумной стоимости. Таким образом, непосредственно доступны, когда-то рассматриваемые как высоко передовые, признаки графического аппаратного обеспечения, такие как алгоритмы ускоренной текстуры и освещения, 3D преобразования и возможность напрямую программировать GPU. В настоящее время, в общем только игровое программное обеспечение и высоко специализированные графические приложения активно используют такие признаки, и чтобы делать это, они должны обходить унаследованный администратор окон из Win32 (USER) и GDI.

Другое препятствие в реализации модели компоновки рабочего стола это то, что унаследованные приложения, написанные для использования с DWM с моделью признания недействительности, не будут корректно функционировать в среде компоновки. Это потому, что базовая воспроизводящая логика унаследованного приложения базируется на интерфейсах API администратора DWM с моделью признания недействительности в операционной системе. То есть чем воспроизводить оконный контент в прямой отклик на пользовательское взаимодействие или изменения во внутреннем состоянии, унаследованное приложение будет рисовать только по принятии сообщения рисования, сгенерированного либо операционной системой, либо своим собственным запросом признания недействительности. Наиболее трудное изобретение состоит в разработке средства, посредством которого компонующий DWM заместит унаследованную GUI платформу в интересах приложения. Более простые альтернативы состоят в исключении приложения из среды компонуемого рабочего стола (подход, известный в данной области как "отлов песка (sand boxing)"), или просто всецелого отказа от совместимости унаследованных приложений.

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

Раскрытие изобретения

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

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

Первый иллюстративный аспект изобретения предоставляет программное обеспечение и компьютерно-осуществимый способ для воспроизведения окна рабочего стола в операционной системе, где, когда компонующий администратор окон рабочего стола (CDWM) управляет воспроизводимой приложением запоминающей поверхностью, содержащей оконный контент, CDWM использует эту воспроизведенную поверхность, чтобы отображать контент вместе с контентом других окон на скомпонованном дисплее. Конкретно, CDWM использует поверхность переадресованного отображения для окна, или части его, как текстуру, применяемую к 2D или 3D сеточному примитиву, который, в свою очередь, передается низкоуровневой графической машине для воспроизведения. Эта иллюстрация включает в себя воспроизведение 3D оконного фрейма, содержащего сгенерированную приложением контентную часть окна. Компонованный оконный фрейм состоит из отдельной текстуры/текстур, отображаемых в отдельный, с изменяемыми размерами 3D сеточный примитив, который передается машине воспроизведения графики вместе с факультативными параметрами для процедуры пиксельного ретушера, которую CDWM может предварительно загружать в устройство графического отображения, чтобы производить внешний вид пластины матированного стекла с подложенной падающей тенью. Дополнительные иллюстративные аспекты изобретения предусматривают поддержку наследия для приложений, спроектированных для использования с администраторами окон рабочего стола с моделью признания недействительности.

Краткое описание чертежей

Более полное понимание настоящего изобретения и его преимуществ может быть получено, обращаясь к следующему описанию при рассмотрении прилагаемых чертежей, в которых одинаковые ссылочные позиции показывают одинаковые элементы, и причем:

Фиг.1A иллюстрирует операционную среду, которая может использоваться для одного или более аспектов иллюстративного осуществления изобретения;

Фиг.1B иллюстрирует распределение функции и сервисов между компонентами в иллюстративном осуществлении платформы компонуемого рабочего стола;

Фиг.2 иллюстрирует компонующий способ согласно иллюстративному аспекту изобретения;

Фиг.3 иллюстрирует окно согласно иллюстративному аспекту изобретения;

Фиг.4 иллюстрирует часть способа оконной компоновки согласно иллюстративному аспекту изобретения;

Фиг.5 иллюстрирует окно, обрамленное матированным стеклом, воспроизводимое согласно иллюстративному аспекту изобретения;

Фиг.6 иллюстрирует окно с динамической оконной анатомией;

Фиг.7 иллюстрирует области, используемые в течение изменения размера сетки.

Осуществление изобретения

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

Необходимо понимать, что другие варианты осуществления могут использовать и структурные и функциональные модификации, которые могут быть сделаны без отхода от объема и сущности настоящего изобретения.

Настоящее изобретение раскрывает администратор окон рабочего стола (DWM), который использует компоновку рабочего стола как свою предпочтительную модель воспроизведения. Администратор окон рабочего стола из этого изобретения называется здесь как компонующий администратор окон рабочего стола (CDWM). CDWM, вместе с подсистемой компоновки, называемой как унифицированная компонующая машина (UCE, Unified Compositing Engine), предоставляет 3D графику и анимацию, затенения, прозрачность, улучшенные осветительные технологии и другие богатые визуальные признаки на рабочем столе. Модель компонованного воспроизведения, используемая здесь, внутренне устраняет этап признания недействительности в воспроизведении и минимизирует или устраняет необходимость передавать сообщение рисования и другие уведомляющие сообщения, так как система сохраняет достаточную информацию о состоянии, чтобы воспроизводить каждое окно как требуется.

Иллюстративная операционная среда

Фиг.1 иллюстрирует пример подходящей среды 100 компьютерной системы, в которой изобретение может осуществляться. Среда 100 компьютерной системы является только одним примером подходящей компьютерной среды и не предполагает предложение какого-либо ограничения как на объем использования или функциональность изобретения. Не должна вычислительная среда 100 интерпретироваться как имеющая какую-либо зависимость или требование, относящиеся к какому-либо или комбинации компонентов, показанных в иллюстративной операционной среде 100.

Изобретение является действенным с множеством других общего назначения или специального назначения сред компьютерных систем или конфигураций. Примеры хорошо известных компьютерных систем, сред и/или конфигураций, которые могут подходить для использования с изобретением, включают в себя, но не ограничены этим, персональные компьютеры; серверные компьютеры; переносные и ручные устройства, такие как персональные цифровые ассистенты (PDA, personal digital assistants), планшетные PC (tablet PCs) или портативные PC (laptop PCs); мультипроцессорные системы; микропроцессорные системы; телевизионные приставки (set top boxes); программируемая бытовая электроника; сетевые PC; миникомпьютеры; мэйнфреймовые компьютеры; распределенные вычислительные среды, которые включают в себя любые из вышеописанных систем или устройств; и подобное.

Изобретение может быть описано в общем контексте компьютерно-выполнимых инструкций, таких как программные модули, выполняемые компьютером. В общем, программные модули включают в себя процедуры, программы, объекты, компоненты, структуры данных и т.д., которые выполняют конкретные задачи или реализуют конкретные абстрактные типы данных. Изобретение может также использоваться на практике в распределенных вычислительных средах, где задачи выполняются удаленными обрабатывающими устройствами, которые соединены через коммуникационную сеть. В распределенной вычислительной среде программные модули могут располагаться в запоминающих носителях как локальных, так и удаленных компьютеров, включающих в себя запоминающие хранящие устройства.

Со ссылкой на фиг.1 иллюстративная система для реализации изобретения включает в себя вычислительное устройство общего назначения в виде компьютера 110. Компоненты компьютера 110 могут включать в себя, но не ограничены этим, обрабатывающее устройство 120, системную память 130 и системную шину 121, которая соединяет различные системные компоненты, включающие в себя системную память, к обрабатывающему устройству 120. Системная шина 121 может быть любым из нескольких типов структур шин, включающих в себя шину памяти или контроллер памяти, периферийную шину и локальную шину, использующую любую из разнообразия шинных архитектур. В качестве примера, а не ограничения, такие архитектуры включают в себя шину промышленной стандартной архитектуры (ISA), шину микроканальной архитектуры (MCA), шину расширенной ISA (EISA), локальную шину Ассоциации по стандартам в области видеоэлектроники (VESA), шину улучшенного графического порта (AGP, Advanced Graphics Port) и шину соединения периферийных компонент (PCI), также известную как шина расширения (mezzanine bus).

Компьютер 110 обычно включает в себя многообразие компьютерно-читаемых носителей. Компьютерно-читаемые носители могут быть любыми имеющимися носителями, к которым компьютер 110 может иметь доступ, и включают в себя как энергозависимые, так и энергонезависимые носители, съемные и несъемные носители. В качестве примера, а не ограничения, компьютерно-читаемые носители могут содержать компьютерные запоминающие носители и коммуникационные носители. Компьютерные запоминающие носители включают в себя как энергозависимые, так и энергонезависимые, съемные и несъемные носители, реализованные любым способом или технологией для хранения информации, такой как компьютерно-читаемые инструкции, структуры данных, программные модули или другие данные. Компьютерные запоминающие носители включают в себя, но не ограничены этим, RAM, ROM, EEPROM, флэш-память или другую технологию памяти, CD-ROM, универсальные цифровые диски (DVD) или другое оптическое дисковое хранилище, магнитные кассеты, магнитную ленту, магнитное дисковое хранилище или другие магнитные хранящие устройства, или любой другой носитель, который может использоваться для хранения желаемой информации и к которому компьютер 110 может иметь доступ. Коммуникационные носители обычно реализуют компьютерно-читаемые инструкции, структуры данных, программные модули или другие данные в модулированном сигнале данных, таком как несущее колебание, или другом транспортном механизме, и включают в себя любые носители доставки информации. Термин "модулированный сигнал данных" означает сигнал, который имеет одну или более своих характеристик, установленную или измененную таким образом, чтобы закодировать информацию в этом сигнале. В качестве примера, а не ограничения, коммуникационные носители включают в себя проводные носители, такие как проводная сеть или прямое проводное соединение, и беспроводные носители, такие как акустические, RF, инфракрасные и другие беспроводные носители. Комбинации любых из вышеописанных носителей также должны быть включены в область компьютерно-читаемых носителей.

Системная память 130 включает в себя компьютерные запоминающие носители в форме энергозависимой и/или энергонезависимой памяти, такой как постоянное запоминающее устройство (ROM) 131 и оперативное запоминающее устройство (RAM) 132. Базовая система 133 ввода/вывода (BIOS), содержащая базовые процедуры, которые помогают переносить информацию между элементами внутри компьютера 110, такую как в течение запуска, обычно хранится в ROM 131. RAM 132 обычно содержит данные и/или программные модули, которые непосредственно доступны и/или в настоящем обрабатываются обрабатывающим устройством 120. В качестве примера, а не ограничения, фиг.1 иллюстрирует операционную систему 134, прикладные программы 135, другие программные модули 136 и программные данные 137.

Компьютер 110 может также включать в себя другие съемные/несъемные, энергозависимые/энергонезависимые компьютерные запоминающие носители. Только в качестве примера, фиг.1 иллюстрирует привод 141 жесткого диска, который читает из или записывает на несъемные, энергонезависимые магнитные носители, привод 151 магнитного диска, который читает из или записывает на съемный, энергонезависимый магнитный диск 152, и привод 155 оптических дисков, который читает из или записывает на съемный, энергонезависимый оптический диск 156, такой как CD ROM или другие оптические носители. Другие съемные/несъемные, энергозависимые/энергонезависимые компьютерные запоминающие носители, которые могут использоваться в иллюстративной операционной среде, включают в себя, но не ограничены этим, кассеты магнитной ленты, платы флэш-памяти, универсальные цифровые диски, цифровую видеоленту, твердотельное RAM, твердотельное ROM и подобное. Привод 141 жесткого диска обычно подсоединяется к системной шине 121 через интерфейс несъемной памяти, такой как интерфейс 140, и привод 151 магнитного диска и привод 155 оптических дисков обычно подсоединяются к системной шине 121 посредством интерфейса съемной памяти, такого как интерфейс 150.

Приводы и их ассоциированные компьютерные запоминающие носители, обсужденные выше и проиллюстрированные на фиг.1, обеспечивают хранение компьютерно-читаемых инструкций, структур данных, программных модулей и других данных для компьютера 110. На фиг.1, например, привод 141 жесткого диска показан как хранящий операционную систему 144, прикладные программы 145, другие программные модули 146 и программные данные 147. Заметим, что эти компоненты могут либо быть такими же, либо другими, нежели операционная система 134, прикладные программы 135, другие программные модули 136 и программные данные 137. Операционной системе 144, прикладным программам 145, другим программным модулям 146 и программным данным 147 здесь даны различные ссылочные позиции, чтобы показать, что, по меньшей мере, они являются различными копиями. Пользователь может вводить команды и информацию в компьютер 110 через устройства ввода, такие как клавиатура 162 и указывающее устройство 161, обычно указываемое как мышь, шаровой указатель (trackball) или сенсорная панель. Другие устройства ввода (не показаны) могут включать в себя микрофон, джойстик, игровая приставка (game pad), спутниковая антенна, сканер или подобное. Эти и другие устройства ввода часто подсоединяются к обрабатывающему устройству 120 через интерфейс 160 пользовательского ввода, который подсоединяется к системной шине, но может подсоединяться посредством других интерфейсных и шинных структур, таких как параллельный порт, игровой порт или универсальная последовательная шина (USB). Монитор 184 или другой тип отображающего устройства также подсоединяется к системной шине 121 через интерфейс, такой как видео интерфейс 183. Компьютер 110 может также включать в себя цифровой преобразователь 185 для использования в соединении с монитором 184, чтобы позволять пользователю обеспечивать ввод, используя перьевое устройство 186 ввода. В дополнение к монитору, компьютеры могут также включать в себя другие периферийные устройства вывода, такие как громкоговорители 189 и принтер 188, которые могут подсоединяться через периферийный интерфейс 187 вывода.

Компьютер 110 может работать в сетевой среде, использующей логические связи с одним или более удаленными компьютерами, такими как удаленный компьютер 180. Удаленный компьютер 180 может быть персональным компьютером, сервером, маршрутизатором, сетевым PC, одноранговым устройством или другим обычным сетевым узлом, и обычно включает в себя много или все из элементов, описанных выше в отношении к компьютеру 110, хотя только запоминающее хранящее устройство 181 было показано на фиг.1. Логические связи, изображенные на фиг.1, включают в себя локальную сеть (LAN) 171 и глобальную сеть (WAN) 173, но могут также включать в себя другие сети. Такие сетевые среды являются обычным явлением в офисах, компьютерных сетях масштаба предприятия, внутренних сетях (intranets) и Интернете.

При использовании в LAN сетевой среде, компьютер 110 подсоединяется к LAN 171 через сетевой интерфейс или адаптер 170. При использовании в WAN сетевой среде компьютер 110 обычно включает в себя модем 172 или другие средства для установки коммуникаций через WAN 173, такую как Интернет. Модем 172, который может быть внутренним или внешним, может подсоединяться к системной шине 121 через интерфейс 160 пользовательского ввода или другой подходящий механизм. В сетевой среде программные модули, описанные в отношении компьютера 110 или его частей, могут храниться в удаленном запоминающем хранящем устройстве. В качестве примера, а не ограничения, фиг.1 иллюстрирует удаленные прикладные программы 182, как постоянно находящиеся на запоминающем устройстве 181. Следует принять во внимание, что показанные сетевые соединения являются иллюстративными и могут использоваться другие средства установки коммуникационного соединения между компьютерами.

Иллюстративные осуществления

Изобретение может использовать компонующий администратор окон рабочего стола (CDWM), чтобы рисовать и поддерживать отображение рабочего стола, используя модель компонуемого рабочего стола, т.е., методологию воспроизведения снизу-вверх. CDWM может содержать контент в буферной запоминающей области для будущего использования. CDWM компонует рабочий стол посредством рисования рабочего стола снизу вверх, начиная с заднего плана рабочего стола и продолжая через перекрывающие окна в обратном Z-порядке. При компоновке рабочего стола CDWM может вычерчивать каждое окно, базируясь частично на контенте, на вершине которого это окно вычерчивается, и базируясь частично на других факторах среды (например, световом источнике, отражающих свойствах и т.д.). Например, CDWM может использовать альфа-канал текстуры формата ARGB для обеспечения прозрачности для окна и может избирательно акцентировать части оконного контента (например, фрейма), базируясь на виртуальном световом источнике.

CDWM может являться частью операционной системы 134, 144 или может находиться независимо от операционной системы, например, в других программных модулях 136, 146. В дополнение CDWM может полагаться на подсистему графической компоновки нижнего уровня, называемую здесь как унифицированная компонующая машина (UCE), дополнительно описываемая ниже и в серийном номере совместно находящейся на рассмотрении заявки (номер дела у поверенного 50037. 201US01), зарегистрированной 23 октября, 2003, озаглавленной "System and Method for a Unified Composition Engine in a Graphics Processing System", здесь включенной по ссылке в своей целостности для всех целей. В одном иллюстративном осуществлении UCE базируется на или использует Direct3D(R) и DirectX(R) технологию от Microsoft Corporation из Redmond, Washington. В альтернативных вариантах осуществления могут использоваться другие подсистемы графической компоновки, такие как вариации платформы X Window, базирующейся на графической машине OpenGL(R) от Silicon Graphics, Inc. из Mountain View, California, и подобное. UCE делает возможными 3D графику и анимацию, прозрачность, затенения, световые эффекты, рельефное отображение, отображение окружающей среды и другие богатые визуальные признаки на рабочем столе.

Фиг.1B иллюстрирует компонентную архитектуру согласно иллюстративному осуществлению компоновочной платформы рабочего стола. Компонующий администратор 190 окон рабочего стола (CDWM) может включать в себя интерфейс 190a прикладного программирования, через который несущее компоновку прикладное программное обеспечение 191 получает сервисы из CDWM для создания и управления окнами и контентом; Интерфейс 190b программирования подсистемы, через который оконная графическая подсистема 192 наследия посылает уведомления обновления для изменений, затрагивающих переадресованный графический вывод индивидуальных окон (переадресация оконного графического вывода описывается более детально ниже); и UI объектный администратор 190c, который поддерживает Z-упорядоченный репозиторий для UI объектов рабочего стола, таких как окна и их ассоциированный контент. UI объектный администратор может взаимодействовать с администратором 193 тем, чтобы извлекать ресурсы, атрибуты поведения объектов и метрику воспроизведения, ассоциированную с активной темой рабочего стола.

Подсистема графического пользовательского интерфейса 192 наследия может включать в себя администратора 192а окна наследия и интерфейс 192b графических устройств наследия. Администратор 192a окон наследия обеспечивает сервисы организации окон с моделью признания недействительности и рабочего стола для программных приложений, разработанных до появления CDWM. Интерфейс 192b графических устройств наследия предоставляет 2D графические сервисы как унаследованным приложениям, так и администратору окон наследия. Интерфейс графических устройств наследия, базирующийся на модели признания недействительности для воспроизведения рабочего стола, может не иметь поддержки для 3D, ускоренных аппаратным обеспечением воспроизводящих примитивов и преобразований, и может исконно не поддерживать попиксельную альфа-канальную прозрачность в операциях копирования и передачи битовой карты. Вместе администратор 192a окон наследия и интерфейс 192b графических устройств наследия продолжают служить для уменьшения стоимости владения для пользователей, которые желают обновить их операционную систему без принесения в жертву возможности запускать их излюбленные или критические программные приложения, которые используют модель признания недействительности. Чтобы достичь бесшовной, бок о бок стыковки окон унаследованных приложений с окнами поддерживающих компоновку приложений способом, который накладывает малые или никаких ощутимых для конечного пользователя штрафов, подсистема графического пользовательского интерфейса 192 наследия может активно участвовать в компонующем процессе. Действительно, принятая платформенная среда для унаследованных приложений предпочтительно не изменяется, чтобы избежать компрометации их надежности на компонуемом рабочем столе, хотя фундаментальный способ, посредством которого окна наследия воспроизводятся на рабочем столе, будет фундаментально изменен. Изобретение описывает, как это достигается через добавление признака, описываемого здесь как переадресация оконного графического вывода.

Унифицированная компонующая машина (UCE) 194 может обслуживать инструкции воспроизведения и объединять ресурсы, выдаваемые из CDWM через программный интерфейс 194a. В широком смысле роль UCE в отношении к CDWM аналогична роли интерфейса 192b графических устройств наследия в отношении к администратору 192a окон наследия. UCE программный интерфейс 194a предоставляет CDWM, и в конечном счете, приложения, абстрактный интерфейс к широкому ряду графических сервисов. Среди этих UCE сервисов находятся управление ресурсами, инкапсуляция из многодисплейных сценариев и поддержка удаленного рабочего стола.

Конфликты графических ресурсов между CDWM операциями записи и операциями воспроизведения могут арбитрироваться внутренним администратором 194b ресурсов. Запросы на обновление ресурсов и сервисы воспроизведения помещаются в очередь 194c запросов из UCE посредством подкомпонента 194a программного интерфейса. Эти запросы могут обрабатываться асинхронно воспроизводящим модулем 194d в интервалы, совпадающие со скоростью обновления отображающих устройств, установленных в системе. Таким образом, воспроизводящий модуль 194d из UCE 194 может выводить из очереди CDWM запросы, получать доступ и манипулировать ресурсами, сохраняемыми в администраторе 194b ресурсов, когда необходимо, и с