Область техники, к которой относится изобретение
Настоящее раскрытие относится к области обработки данных, в частности, к устройствам, способам и носителю информации, ассоциированным с поддержкой сетевых приложений с мультимедийной информацией.
Уровень техники
Описание предшествующего уровня техники, представленное здесь, предназначено для общего представления контекста раскрытия. Если только здесь не будет обозначено другое, материалы, описанные в данном разделе, не являются предшествующим уровнем техники для формулы изобретения данной заявки и не допущены, как предшествующий уровень техники при включении в этот раздел.
Развитие микропроцессоров общего назначения, графических процессоров, организации сетей и близких технологий привело к улучшению доступности мультимедийного содержания через Интернет. Основанные на сети приложения включают в себя все более объемные и сложные интерактивные 2D/3D изображения и/или анимацию. Развитие и доступность графических библиотек с большим объемом, таких как WebGL (сетевая графическая библиотека), дополнительно повысили доступность таких основанных на сети приложений со сложной графикой.
В то время как произошло существенное усовершенствование графических процессоров, частично в результате распространения аппаратных платформ, некоторые графические процессоры на определенных аппаратных платформах выполнены с поддержкой потребности в обработке основанных на сети приложений со сложной графикой. Проблема дополнительно усугубляется, когда графические процессоры должны поддерживать визуализацию 1080р и повышенные требования к обработке множества элементов HTML5, используемых при появлении приложений, основанных на сети, со сложной графикой. (HTML = язык разметки гипертекста).
Краткое описание чертежей
Варианты осуществления будут понятны из следующего подробного описания изобретения совместно с приложенными чертежами. Для того, чтобы способствовать этому описанию, одинаковые номера ссылочных позиций обозначают одинаковые структурные элементы. Варианты осуществления представлены в качестве примера, а не в качестве ограничения на фигурах приложенных чертежей.
На фиг. 1 показан вид с представлением компонентов вычислительного устройства, в котором применено описание настоящего раскрытия для поддержки веб-приложения с мультимедийной информацией, в соответствии с различными вариантами осуществления.
На фиг. 2 более подробно представлено взаимодействие между графическими функциями веб-приложения и компоновщиком по фиг. 1, в соответствии с различными вариантами осуществления.
На фиг. 3 показана, в качестве примера, обработка для поддержки веб-приложения с мультимедийной информацией, в соответствии с различными вариантами осуществления.
На фиг. 4 показана, в качестве примера, вычислительная среда, соответствующая для выполнения раскрытия, в соответствии с различными вариантами осуществления.
На фиг. 5 показан, в качестве примера, носитель информации с инструкциями, составленными так, что они обеспечивают выполнение устройством настоящего раскрытия, в соответствии с различными вариантами осуществления.
Осуществление изобретения
Раскрыты устройства, способы и носитель информации, ассоциированные с приложениями, поддерживаемыми графическими изображениями, такими как сетевые приложения с мультимедийной информацией. В вариантах осуществления устройство, например, телевизионная приставка, может включать в себя процессор общего назначения, графический процессор и запоминающее устройство. Запоминающее устройство может быть выполнено с возможностью содержания графических команд и буфера команд компоновщика. Буфер графических команд может быть ассоциирован с множеством графических функций, и буфер команды компоновщика может быть ассоциирован с компоновщиком. Графические функции могут быть ассоциированы с графическим приложением, например, функциями WebGL, ассоциированными с сетевым приложением, с мультимедийной информацией, и выполненными с возможностью сохранения своих графических команд в буфере графических команд. Компоновщик может быть ассоциирован с браузером, например, браузером, который поддерживает HTML5. Компоновщик может быть выполнен с возможностью: вставлять множество команд окна просмотра, ассоциированных с графическими функциями, в буфер команд компоновщика, и копировать множество графических команд графических функций, из буфера графических команд в буфер команд компоновщика. Графические функции и компоновщик могут совместно использовать общий исполнительный контекст. В вариантах осуществления графическая функция может быть загружена в исполнительный контекст компоновщика, например, с помощью компоновщика.
В следующем подробном описании изобретении будет сделана ссылка на приложенные чертежи, которые формируют его часть, где одинаковые номера обозначают одинаковые части на всех чертежах, и которые представлены в качестве иллюстрации вариантов осуществления, которые могут быть выполнены на практике. Следует понимать, что могут использоваться другие варианты осуществления, и структурные или логические изменения могут быть выполнены без выхода за пределы объема настоящего раскрытия. Поэтому, следующее подробное описание изобретения не следует рассматривать в ограничительном смысле, и объем вариантов осуществления определен приложенной формулой изобретения и ее эквивалентами.
Различные операции, в свою очередь, могут быть описаны, как множество дискретных действий или операций, таким образом, что способствует пониманию заявленного предмета изобретения. Однако порядок описания не следует рассматривать, как подразумевающий, что эти операции обязательно зависят от порядка. В частности, эти операции могут не быть выполнены в порядке представления. Описанные операции могут быть выполнены в другом порядке, чем описанный вариант осуществления. Различные дополнительные операции могут быть выполнены и/или описанные операции могут быть исключены в дополнительных вариантах осуществления.
С целью настоящего раскрытия, фраза "А и/или В" означает (А), (В) или (А и В). С целью настоящего раскрытия, фраза "А, В и/или С" означает (А), (В), (С), (А и В), (А и С), (В и С) или (А, В и С).
В описании могут использовать фразы "в варианте осуществления" или "в вариантах осуществления", каждый из которых может относиться к одному или больше из одних и тех же или разных вариантов осуществления. Кроме того, термины "содержащий", "включающий в себя", "имеющий" и т.п., используемые в отношении вариантов осуществления настоящего раскрытия, являются синонимами.
Используемый здесь, включая в себя формулу изобретения, термин "модуль" может относиться к части или может включать в себя специализированную интегральную микросхему ("ASIC"), электронную схему, процессор (совместно используемый, выделенный или группу) и/или запоминающее устройство (совместно используемое, выделенное или группу), которые выполняют одно или больше из программных приложений или приложений в виде встроенного программного обеспечения, комбинацию логических схем и/или другие соответствующие компоненты, которые обеспечивают описанную функцию. Термин "субтитры" по требованию включает в себя традиционные субтитры по требованию и/или субтитры.
Рассмотрим теперь фиг. 1, на которой показан вид с представлением компонентов вычислительного устройства, в котором используется описание настоящего раскрытия для поддержки сетевых приложений с мультимедийной информацией, в соответствии с различными вариантами осуществления. Как представлено в вариантах осуществления, вычислительное устройство 100 может включать в себя процессор общего назначения (GP) и компоновку 110 памяти, графические аппаратные средства 112 и устройство 114 дисплея, соединенные друг с другом, как показано. Процессор GP и компоновка 110 памяти могут быть выполнены так, чтобы в них содержалось и ими исполнялось сетевое приложение 102 и браузер 104, с помощью графических аппаратных средств 112 через графический драйвер 106.
Сетевое приложение 102 представляет собой широкий диапазон сетевых приложений, известных в области техники, включая в себя без ограничения, мобильные приложения. В вариантах осуществления сетевое приложение 102 может быть построено с элементами 122 HTML, например, элементами HTML5. Кроме того, сетевое приложение 102 может предоставлять, по меньшей мере, некоторую из мультимедийной информации, используя интерактивные графические функции 124, такие как графические функции WebGL, ниже просто "графические функции". Аналогично, кроме описания настоящего раскрытия, браузер 104 представляет собой широкий диапазон браузеров, известных в данной области техники, включая в себя без ограничения, браузеры, разработанные для мобильных вычислительных устройств. В вариантах осуществления браузер 104 может включать в себя компоновщик 126 и, в случае необходимости, интерпретатор 128, такой как Javascript®, для поддержки операции сетевого приложения 102. В частности, интерпретатор 128 может быть выполнен с поддержкой интерпретируемого языка, используемого для воплощения графических функций 124. Компоновщик 126 может быть выполнен так, чтобы он составлял отображение на экране по команде элементов 122 HTML и графических функций 124 на поверхности 130 экрана. Графический драйвер 106 может быть выполнен так, чтобы, в свою очередь, работать с графическими аппаратными средствами 110 для визуализации на поверхности 130 экрана в устройстве 114 дисплея.
Как правило, в устройствах предшествующего уровня техники, графические функции и компоновщик могли работать в своем отдельном и соответствующем контексте. Графические функции могли вначале вычерчивать графическое контекст на поверхности за пределами экрана. Затем компоновщик перерисовывал графический контекст второй раз на поверхности за пределами экрана, используя альфа-смешение, и вставлял графический контекст на поверхность экрана. Опыт показал, что характеристики такого подхода предшествующего уровня техники хуже, чем требуется для множества аппаратных платформ для работы с сетевыми приложениями с мультимедийной информацией, например, при работе с сетевыми приложениями с полной визуализацией 1080р на аппаратной платформе, с графическим процессором типа POWER VR SGX545, используя WINDOWS СЕ в качестве операционной системы и Chromium, как браузер. POWER VR SGX545 доступен в компании Imagination Technologies of United Kingdom. WINDOWS СЕ и Chromium доступны в компаниях Microsoft Redmond, WA и Google of Menlo Park, СА, соответственно.
Однако, как будет более подробно описано ниже, в вариантах осуществления, в отличие от предшествующего уровня техники, графические функции 124 могут вместо этого работать в контексте компоновщика 126. Другими словами, в вариантах осуществления, графические функции 124 и контекст компоновщика 126 совместно используют один и тот же общий контекст. Кроме того, графические функции 124, вместо вычерчивания графических изображений за пределами поверхности экрана, могут вставлять свои графические команды в буфер графической команды. После записи соответствующих команд окна просмотра графических функций 124 в буфер графических команд компоновщика, компоновщик 126 может копировать графические команды графических функций 124 непосредственно в буфер графических команд компоновщика, улучшая, таким образом, рабочие характеристики.
Перед дальнейшим описанием настоящего раскрытия, следует отметить, что, в то время как для простоты понимания большая часть оставшегося описания будет представлена в отношении веб-приложения 102 графических функций WebGL, настоящее раскрытие не ограничено этим. Настоящее раскрытие может быть выполнено на практике с другими графическими приложениями и/или другими графическими функциями, других графических библиотек. Например, в альтернативных вариантах осуществления, графические функции 124 могут представлять собой полностью скомпилированный объектный код, для которого не требуется поддержка интерпретатора 128.
Процессор GP и компоновка 110 памяти предназначены для представления широкого диапазона процессоров GP и запоминающих устройств, включая в себя, без ограничений, компоновки, разработанные для мобильных компьютеров. Например, без ограничений, процессор GP может представлять собой один из множества одноядерных или многоядерных процессоров, известных в области техники. Могут использоваться один или больше процессоров. Запоминающее устройство может быть любым одним из множества энергозависимых и/или энергонезависимых запоминающих устройств, известных в области техники, включая в себя, но без ограничений, динамическое оперативное запоминающее устройство (DRAM), FLASH и т.д. Аналогично, могут использоваться один или больше модулей памяти. Графические аппаратные средства 112 могут представлять собой любой один из широкого диапазона графических процессоров, известных в области техники, включая в себя, без ограничений, процессоры, разработанные для мобильных компьютеров. В общем, с учетом улучшенных рабочих характеристик, обеспечиваемых настоящим раскрытием, может использоваться графический процессор с худшими рабочими характеристиками (по сравнению с тем, что требуется для поддержки определенных приложений со сложной графикой предшествующего уровня техники). Устройство 114 дисплея может представлять собой любое из множества устройств дисплея, известных в области техники, включая в себя, но без ограничений, дисплей с сенсорным экраном.
Кроме того, компьютерное устройство 100 может включать в себя другие компоненты, такие как проводной или беспроводный интерфейсы передачи данных. Пример проводных интерфейсов передачи данных может включать в себя сетевой интерфейс Ethernet. Примеры интерфейсов беспроводной передачи данных могут включать в себя интерфейсы, которые поддерживают беспроводную передачу данных WiFi 3G/4G. Компьютерное устройство 100 также может включать в себя устройства - накопители большого объема данных, такие как магнитные, оптические и/или твердотельные накопители большого объема данных, и/или устройства ввода, такие как клавиатура или другие средства управления курсором, и/или устройства распознавания жеста. Также, кроме того, компьютерное устройство 100 может включать в себя камеру, поддержку Системы глобальной навигации (GPS) и различные датчики. Другими словами, за исключением внедрения описаний настоящего раскрытия, компьютерное устройство 100 может представлять собой любое одно из множества стационарных или мобильных "компьютерных" устройств, известных в области техники, включая в себя, без ограничений, телевизионные приставки, смартфоны, планшетные компьютеры, ультрабуки, с-считыватели, переносные компьютеры, настольные компьютеры и т.д.
На фиг. 2 более подробно иллюстрируется взаимодействие между графическими функциями и компоновщиком по фиг. 1, в соответствии с различными вариантами осуществления. Для вариантов осуществления графические функции могут представлять собой функции 202 WebGL, тогда как компоновщик может представлять собой вариант осуществления 206 с модулем 212 обработки графический уровня с листом каскадного стиля (css), модулем 214 обработки уровня WebGL, модулем 215 администрирования состоянием визуализации, модулем 216 обработки графического уровня и модулем 218 обработки видеоуровня. Функции 202 WebGL могут быть ассоциированы с буфером 204 графической команды, в то время как компоновщик 206 может быть ассоциирован с буфером 208 команды компоновщика.
В вариантах осуществления модуль 212 обработки графического уровня CSS может быть выполнен с возможностью записи накладываемого графического слоя, составляющего команды 222, в буфер 208 команды компоновщика для смешивания накладываемого слоя с поверхностью 130 экрана. Модуль 214 обработки слоя WebGL может быть выполнен с возможностью записи команды 226 визуализации WebGL в буфер 208 графической команды компоновщика, для смешивания слоя WebGL на поверхности 130 экрана. Модуль 215 администрирования состоянием визуализации может быть выполнен с возможностью администрирования состояниями визуализации, ассоциированными с графикой визуализации на поверхности 130 экрана. В частности, модуль 215 администрирования состоянием визуализации может быть выполнен с возможностью записи команды окна просмотра функций WebGL и компоновщика в буфере 208 команд компоновщика для управления смешиванием функций WebGL и компоновщика. В вариантах осуществления, модуль 215 администрирования состоянием визуализации также может быть выполнен с возможностью сохранения и восстановления команд для альфа-смешивания, теста глубины, теста ножниц, теста трафарета и т.д. Модуль 216 обработки графического слоя может быть выполнен с возможностью записи команд 230, составляющий слой видеомаски, в буфер 208 графической команды компоновщика, для смешивания видеомасок на поверхности 130 экрана. Модуль 218 обработки видеоданных может быть выполнен с возможностью записи команд 232, составляющих видеослой, в буфер 208 графической команды компоновщика, для смешивания видеослоя на поверхности 130 экрана. Различные модули 212-218 обработки могут избирательно связываться друг с другом либо непосредственно, например, путем передачи данных и/или указателей друг другу, или опосредованно, например, через структуры данных.
После сборки различные команды 222-230 могут быть очищены графическим драйвером 106 с тем, чтобы графические аппаратные средства 112 представили их на поверхности 130 экрана устройства 114 дисплея.
Далее, на фиг. 3, иллюстрируется пример обработки для поддержки сетевых приложений с мультимедийной информацией, в соответствии с различными вариантами осуществления. Для простоты понимания различные блоки операций обработки 300, блоки 302-314, также обозначены, соответственно, в кружке, в каждом из которых расположена цифра, обозначения 1-9 в виде кружка предназначены для отображения/ассоциирования различных операционных блоков на фиг. 3 с управлением и путями передачи данных на фиг. 2. Как показано, в вариантах осуществления, обработка 300 может начинаться в блоке 301. В блоке 301, функция 202 WebGL может быть загружена в исполнительный контекст компоновщика, например, с помощью компоновщика 206. В альтернативных вариантах осуществления функция 202 WebGL может быть загружена в исполнительный контекст компоновщика с помощью загрузчика или планировщика операционной системы вычислительного устройства 100. Из блока 301 обработка может перейти в блок 302. В блоке 302 сетевое приложение с функциями 202 WebGL может быть запрошено для обратного вызова кадра анимации, например, компоновщиком 206. Из блока 302, обработка 300 может перейти к блоку 304. В блоке 304, в ходе выполнения, команды WebGL могут быть сохранены в буфере 204 графических команд, например, с помощью функций 202 WebGL.
Из блока 304, обработка 300 может перейти в блок 306. В блоке 306, команды 232 составления видеослоя могут быть записаны в буфер 208 графической команды компоновщика для смешивания видеослоя на поверхности 130 экрана, например, с помощью модуля 218 обработки видеоданных.
Кроме того, в блоке 306, слой видеомаски, составляющий команды 230, может быть записан в буфер 208 графической команды компоновщика, для смешивания видеомаски на поверхности 130 экрана, например, с помощью модуля 216 обработки графического слоя.
Из блока 306 обработка 300 может перейти в блок 310. В блоке 310, команда 228 окна просмотра WebGL может быть вставлена в буфер 208 графической команды компоновщика, например, с помощью модуля 215 администрирования состоянием визуализации для управления, где будет смешана графика функций 202 WebGL. После этого, команды 226 визуализации WebGL могут быть скопированы из буфера 204 графических команд, в буфер 208 команды компоновщика, для смешивания слоя WebGL на поверхности 130 экрана, например, с помощью модуля 214 обработки слоя WebGL.
Из блока 310 обработка 300 может перейти в блок 311. В блоке 311, команды окна просмотра компоновщика 224 могут быть вставлены в буфер 208 команд компоновщика, например, модулем 215 администрирования состоянием визуализации, для координирования смешивания графики функций 202 WebGL и компоновщика 206. Из блока 311 обработка 300 может перейти в блок 312. В блоке 312, команды 222 графического уровня могут быть записаны в буфер 208 команд графики компоновщика для смешивания слоя наложения на поверхность 130 экрана, например, с помощью модуля 212 обработки слоя CSS.
Из блока 312 обработка 300 может перейти в блок 314. В блоке 314 различные составляющие команды 222-232 могут быть очищены из буфера 208 графической команды компоновщика, например, с помощью графического драйвера 106 в графическое аппаратное средство 112 для визуализации на поверхности 130 экрана устройства 114 дисплея.
Далее, на фиг. 4 представлен пример компьютера, пригодного для использования для компоновки на фиг. 1, в соответствии с различными вариантами осуществления. Как представлено, компьютер 400 может включать в себя один или больше процессоров или ядер 402 процессора, и системную память 404. С целью данной заявки, включая в себя формулу изобретения, термины "процессор" и "ядра процессора" могут рассматриваться, как синонимы, если только содержание ясно не будет требовать другого. Кроме того, компьютер 400 может включать в себя устройство 406 сохранения большой емкости (такое как дискета, привод жесткого диска, постоянное запоминающее устройство на компакт диске (CD-ROM) и т.д.), устройства 408 ввода-вывода (такие как дисплей, клавиатура, средство управления курсором и т.д.) и интерфейсы 410 передачи данных (такие как карты сетевого интерфейса, модемы и т.д.). Элементы могут быть соединены друг с другом через системную шину 412, которая может представлять собой одну или больше шин. В случае множества шин, они могут быть соединены одним или больше мостиками шин (не показаны).
Каждый из этих элементов может выполнять свои обычные функции, известные в области техники. В частности, системная память 404 и устройства 406 накопители большой емкости могут использоваться для сохранения рабочей копии и постоянной копии программных инструкций, осуществляющих операции, ассоциированные с графическими функциями 124/202 и компоновщиком 126/206, описанными выше. Различные элементы могут быть воплощены, используя инструкции ассемблера, поддерживаемые процессором (процессорами) 402 или языками высокого уровня, такими как, например, С, которые могут быть скомпилированы в такие инструкции.
Постоянная копия программных инструкций может быть размещена в устройствах 406 постоянного сохранения на фабрике, или на месте использования с помощью например, дистрибутивного носителя (не показан), такого как компакт-диск (CD), или через интерфейс 410 передачи данных (из сервера распределения (не показан)). Таким образом, один или больше дистрибутивных носителей, содержащих воплощение программы агента, могут использоваться для распределения этого агента и программ различных вычислительных устройств.
Количество, возможности и/или емкость этих элементов 410-412 могут изменяться, в зависимости от предполагаемого использования примерного компьютера 400, например, является ли примерный компьютер 400 стационарным вычислительным устройством, таким как телевизионная приставка или настольный компьютер, или мобильным вычислительным устройством, таким как смартфон, планшетное устройство, ультрабук или переносной компьютер. Состав этих элементов 410-412 хорошо известен, и, соответственно, не будет здесь дополнительно описан.
На фиг. 5 иллюстрируется пример энергонезависимого считываемого компьютером носителя информации, имеющего инструкции, сконфигурированные для выполнения на практике всех или выбранных одних из операций, ассоциированных с графическими функциями 124/202 и компоновщиком 126/206, описанными выше; в соответствии с различными вариантами осуществления. Как представлено, энергонезависимый считываемый компьютером носитель 502 информации может включать в себя множество программных инструкций 504. Программные инструкции 504 могут быть выполнены с возможностью обеспечения для устройства, например, компьютера 400, в ответ на выполнение программных инструкций, выполнения различных операций обработки 300 по фиг. 3, например, но без ограничений, операций, выполняемых в ассоциации с улучшением рабочих характеристик графических операций при поддержке графических приложений со сложной графикой. В альтернативных вариантах осуществления, программные инструкции 504 вместо этого могут быть размещены на множестве энергонезависимых считываемых компьютером носителей 502 информации.
Снова обращаясь к фиг. 4, в одном варианте осуществления, по меньшей мере, один из процессоров 402 может быть упакован вместе с вычислительной логикой 422 (вместо сохранения в запоминающем устройстве 404 и/или в накопителе 406 большой емкости), выполненной с возможностью выполнения на практике аспектов обработки, показанной на фиг. 3. В одном варианте осуществления, по меньшей мере, один из процессоров 402 может быть упакован вместе с вычислительной логикой 422, выполненной с возможностью выполнения на практике аспектов обработки по фиг. 3 для формирования системы в упаковке (SiP). В одном варианте осуществления, по меньшей мере, один из процессоров 402 может быть интегрирован на одном кристалле с вычислительной логикой 422, сконфигурированной для выполнения на практике аспектов обработки на фиг. 3. В одном варианте осуществления, по меньшей мере, один из процессоров 402 может быть упакован вместе с вычислительной логикой 422, сконфигурированной для выполнения на практике аспектов обработки на фиг. 3, для формирования системы на кристалле (SoC). По меньшей мере, в одном варианте осуществления SoC может использоваться, например, но не ограничен этим, в планшетном компьютере.
Таким образом, примеры описанных вариантов осуществления включают в себя, но не ограничены этим:
Пример 1, который представляет собой устройство для выполнения графических приложений. Устройство может включать в себя процессор общего назначения; графический процессор для дополнения процессора общего назначения; первую память, соединенную с процессором общего назначения, и выполненную с возможностью содержания буфера графических команд; и вторую память, соединенную с графическим процессором, и выполненную с возможностью содержания буфера команд компоновщика. Устройство может дополнительно включать в себя компоновщик, ассоциированный с буфером команды компоновщика, и выполненный так, что им может управлять процессор общего назначения в контексте выполнения. Компоновщик может включать в себя модуль администрирования состоянием визуализации, выполненный с возможностью вставлять множество команд окна просмотра, ассоциированных с множеством графических функций, в буфер команды компоновщика, в котором графические функции ассоциированы с графическим приложением, которым управляет процессор общего назначения, и которые загружены для работы в контексте выполнения компоновщика, и модуль обработки команды графической библиотеки, выполненный с возможностью копировать множество графических команд графических функций из буфера графической команды в буфер команды компоновщика, для последующего предоставления в графический процессор.
Пример 2, который включает в себя предмет изобретения по примеру 1, и в котором процессор общего назначения содержит множество ядер процессора.
Пример 3, который включает в себя предмет изобретения по примеру 1, и устройство дисплея, соединенное с графическим процессором, и графический драйвер, выполненный с возможностью работы на поверхности экрана для визуализации в устройстве дисплея с помощью графического процессора, в котором, в пределах графической функции управляют контекстом компоновщика, связан с поверхностью экрана.
Пример 4, который включает в себя предмет изобретения по примеру 3, в котором компоновщик дополнительно содержит модуль обработки видеослоя, выполненный с возможностью смешивания видеослоя на поверхности экрана.
Пример 5, который включает в себя предмет изобретения по примеру 3, в котором компоновщик дополнительно содержит модуль обработки видеомаски, выполненный с возможностью смешивания слоя видеомаски на поверхности экрана.
Пример 6, который включает в себя предмет изобретения по примеру 3, в котором компоновщик дополнительно содержит модуль слоя наложения, выполненный с возможностью смешивания слоя наложения на поверхности экрана.
Пример 7, который включает в себя предмет изобретения по примеру 3, в котором компоновщик дополнительно выполнен с возможностью загрузки графической функции в контекст выполнения компоновщика или запроса графического приложения для обратного вызова кадра анимации.
Пример 8, который включает в себя предмет изобретения по примеру 1, и браузер, в котором браузер содержит компоновщик.
Пример 9, который включает в себя предмет изобретения по любому одному из примеров 1-8, в котором графическое приложение представляет собой сетевое приложение, и графические функции представляют собой функции сетевой графической библиотеки.
Пример 10, который включает в себя предмет изобретения по примеру 9, в котором устройство представляет собой выбранную одну из телевизионной приставки, смартфона, планшетного компьютера, ультрабука, переносного компьютера или настольного компьютера.
Пример 11 представляет собой способ для управления графическим приложением. Способ может включать в себя: запрашивают, используя компоновщик, работающий в контексте выполнения в вычислительном устройстве, обратный вызов кадра анимации из графического приложения, работающего в компьютерном устройстве, графическое приложение, имеющее множество графических функций, работающих в контексте выполнения компоновщика, и сохраняют, используя графические функции, во время работы в контексте выполнения компоновщика, множество графических команд в буфере графических команд. Способ может дополнительно включать в себя: смешивают, используя компоновщик, видеослой в буфере команды компоновщика; и смешивают, с помощью компоновщика, слой видеомаски в буфере команды компоновщика. Способ может дополнительно включать в себя: вставляют, с помощью компоновщика, множество команд окна просмотра, ассоциированных с графическими функциями, в буфер команды компоновщика; и копируют, с помощью компоновщика, графические команды из временного буфера графической команды в буфер команды компоновщика.
Пример 12, который включает в себя предмет изобретения по примеру 11, и вставку команды окна просмотра компоновщиком, выполняемой компоновщиком в буфере команд компоновщика; и смешивают с помощью компоновщика графический слой наложения в буфере команды компоновщика.
Пример 13, который включает в себя предмет изобретения по примеру 12, и очистку графическим драйвером контекста буфера команды компоновщика для визуализации на поверхности экрана компьютерного устройства.
Пример 14, который включает в себя предмет изобретения по примеру 11, и загрузку, с помощью компоновщика, графических функций в контексте выполнения.
Пример 15, который включает в себя предмет изобретения по любому одному из примеров 11-14, в котором графическое приложение представляет собой сетевое приложение, и графические функции представляют собой функции сетевой графической библиотеки.
Пример 16 направлен на устройство для управления сетевыми приложениями. Устройство может, включать в себя средство для выполнения сетевого приложения, средство для выполнения графических команд графических функций сетевого приложения и средство для хостинга буфера графических команд и буфера команды компоновщика. Устройство может дополнительно включать в себя компоновщик для вставки множества команд окна просмотра, ассоциированных с графическими функциями, в буфер команд компоновщика, и копирования множества графических команд графических функций из буфера графических команд в буфер команд компоновщика. Компоновщик и графические функции все работают, в общем, в совместно используемом контексте выполнения.
Пример 17, который включает в себя предмет изобретения по примеру 16, и средство для работы на поверхности экрана, связанное с исполнительным контекстом компоновщика.
Пример 18, который включает в себя предмет изобретения по примеру 17, и в котором компоновщик дополнительно предназначен для смешивания видеослоя на поверхности экрана.
Пример 19, который включает в себя предмет изобретения по примеру 17, и в котором компоновщик дополнительно выполнен с возможностью смешивания слоя видеомаски на поверхности экрана.
Пример 20, который включает в себя предмет изобретения по примеру 17, и в котором компоновщик дополнительно предназначен для смешивания слоя наложения на поверхности экрана.
Пример 21, который включает в себя предмет изобретения по примеру 16, и в котором компоновщик дополнительно выполнен с возможностью вставки команды окна просмотра компоновщика в буфер команды компоновщика.
Пример 22, который включает в себя предмет изобретения по любому одному из примеров 16-21, в котором графические функции представляют собой функции сетевой графической библиотеки.
Пример 23 представляет собой один или больше носителей информации, содержащий множество инструкций, выполненных с возможностью обеспечивать выполнение компьютерным устройством, в ответ на выполнение инструкций компьютерным устройством, множества операций графической обработки. Операции могут включать в себя операцию вставки, в которой компоновщик компьютерного устройства вставляет множество команд окна просмотра, ассоциированных с множеством графических функций, в буфер команд компоновщика, ассоциированный с компоновщиком, в котором графические функции ассоциированы с графическим приложением компьютерного устройства; и операцию копирования, в которой компоновщик копирует множество графических команд графических функций из буфера графических команд в буфер команд компоновщика. Компоновщик и графические функции все работают в общем совместно используемом контексте.
Пример 24, который включает в себя предмет изобретения по п. 23, в котором контекст выполнения связан с поверхностью экрана, который должен быть визуализирован на дисплее компьютерного устройства.
Пример 25, который включает в себя предмет изобретения по п. 24, в котором операции дополнительно содержат операцию смешивания, в которой компоновщик смешивает видеослой с поверхностью экрана.
Пример 26, который включает в себя предмет изобретения по п. 24, в котором операции дополнительно содержат операцию смешивания, в которой компоновщик смешивает слой видеомаски с поверхностью экрана.
Пример 27, который включает в себя предмет изобретения по п. 24, в котором операции дополнительно содержат операцию смешивания, в которой компоновщик смешивает слой наложения на поверхности экрана.
Пример 28, который включает в себя предмет изобретения по п. 23, в котором операции дополнительно содержат другую операцию вставки, в котором компоновщик вставляет команды окна просмотра компоновщика в буфер команды компоновщика.
Пример 29, который включает в себя предмет изобретения по п. 23, в котором операции дополнительно содержат операцию запроса, в котором компоновщик запрашивает в графическом приложении обратный вызов кадра анимации или операцию загрузки, в котором компоновщик загружает графические функции в контекст выполнения компоновщика.
Пример 30, который включает в себя предмет изобретения по п. 23, в котором компоновщик представляет собой часть браузера компьютерного устройства.
Пример 31, который включает в себя предмет изобретения по любому одному из примеров 23-30, в котором графическое приложение представляет собой сетевое приложение, и графические функции представляют собой функции сетевой графической библиотеки.
Хотя определенные варианты осуществления были представлены и описаны здесь с целью описания, большое разнообразие альтернативных и/или эквивалентных вариантов осуществления или воплощения, рассчитанных для достижения того же назначения, могут быть представлены вместо показанных и описанных вариантов осуществления, без выхода за пределы объема настоящего раскрытия. Эта заявка предназначена для охвата любых адаптаций или изменений описанных здесь вариантов осуществления. Поэтому, она очевидно предназначена для того, чтобы варианты осуществления, описанные здесь, были ограничены только формулой изобретения.
В случае, когда в описании приведен "а" или "first" элемент или его эквивалент, такое раскрытие включает в себя один или больше таких элементов, ни требуя, ни исключая два или больше таких элементов. Кроме того, порядковые числительные (например, первый, второй или третий) для идентифицированных элементов используются для различия между этими элементами, и не обозначают или не подразумевают требуемое или ограниченное количество таких элементов, и при этом они не обозначают конкретное положение, или порядок таких элементов, если только другое не будет, в частности, указано.
Изобретение относится к средствам управления графическим приложением. Технический результат заключается в увеличении производительности при вычерчивании графических изображений. Записывают с помощью графических функций WebGL во время работы в контексте выполнения компоновщика множество графических команд в буфер графических команд, расположенный в контексте выполнения компоновщика, причем графические команды предназначены для вычерчивания графических изображений. Составляют отображения на экране по команде элементов языка разметки гипертекста (HTML) графического приложения на экранной поверхности, причем контекст выполнения связан с экранной поверхностью, подмешивают видеослой в буфер команд компоновщика в контексте выполнения и подмешивают с помощью компоновщика слой видеомаски в буфер команд компоновщика. Вставляют с помощью компоновщика множество команд окна просмотра, связанных с графическими функциями WebGL, в буфер команд компоновщика. Копируют графические команды из буфера графических команд в буфер команд компоновщика, причем скопированные графические команды в последующем предоставляют в графический процессор для визуализации на экранной поверхности, которую, в свою очередь, отображают на устройстве отображения вычислительного устройства. 3 н. и 14 з.п. ф-лы, 5 ил.
1. Устройство для выполнения графических приложений, содержащее:
процессор общего назначения;
графический процессор для дополнения процессора общего назначения;
первую память, соединенную с процессором общего назначения и выполненную с возможностью содержания буфера графических команд для контекста выполнения компоновщика браузера;
вторую память, соединенную с графическим процессором и выполненную с возможностью содержания буфера команд компоновщика для контекста выполнения компоновщика браузера;
устройство отображения; и
браузер, содержащий компоновщик и выполненный с возможностью находиться под управлением процессора общего назначения;
при этом браузер выполнен с возможностью поддержки графического приложения, имеющего множество графических функций сетевой графической библиотеки (WebGL) и выполненного с возможностью находиться под управлением процессора общего назначения в контексте выполнения компоновщика; причем графические функции WebGL выполнены с возможностью, вместо вычерчивания графических изображений за пределами экранной поверхности, записи графических команд для вычерчивания графических изображений в буфер графических команд,
при этом компоновщик выполнен с возможностью составлять отображения на экране по команде элементов языка разметки гипертекста (HTML) графического приложения на экранной поверхности, подлежащей визуализации на устройстве отображения, причем контекст выполнения связан с экранной поверхностью; и
при этом компоновщик включает в себя:
модуль управления состоянием визуализации, выполненный с возможностью сначала вставлять множество команд окна просмотра, связанных с множеством графических функций WebGL, в буфер команд компоновщика, и
модуль обработки команд графической библиотеки, выполненный с возможностью копировать множество графических команд графических функций WebGL из буфера графических команд в буфер команд компоновщика, после того как команды окна просмотра были сначала вставлены в буфер команд компоновщика, причем скопированные графические команды в последующем предоставляются в графический процессор для вычерчивания графических изображений на экранной поверхности.
2. Устройство по п. 1, в котором процессор общего назначения содержит множество ядер процессора.
3. Устройство по п. 1, дополнительно содержащее графический драйвер, выполненный с возможностью управления визуализацией экранной поверхности на устройстве отображения с помощью графического процессора.
4. Устройство по п. 3, в котором компоновщик дополнительно содержит модуль обработки видеослоя, выполненный с возможностью подмешивания видеослоя на экранную поверхность
5. Устройство по п. 3, в котором компоновщик дополнительно содержит модуль обработки видеомаски, выполненный с возможностью подмешивания слоя видеомаски на экранную поверхность
6. Устройство по п. 3, в котором компоновщик дополнительно содержит модуль слоя наложения, выполненный с возможностью подмешивания слоя наложения на экранную поверхность.
7. Устройство по п. 3, в котором компоновщик дополнительно выполнен с возможностью загрузки графической функции в контекст выполнения компоновщика или запроса графического приложения для обратного вызова кадра анимации.
8. Устройство по п. 1, в котором устройство представляет собой выбранное устройство из телевизионной приставки, смартфона, планшетного компьютера, ультрабука, переносного компьютера или настольного компьютера.
9. Способ управления графическим приложением, содержащий этапы, на которых:
запрашивают с помощью компоновщика браузера, работающего в контексте выполнения в вычислительном устройстве, обратный вызов кадра анимации из графического приложения, функционирующего в компьютерном устройстве, причем графическое приложение имеет множество графических функций сетевой графической библиотеки (WebGL), работающих в контексте выполнения компоновщика;
записывают с помощью графических функций WebGL во время работы в контексте выполнения компоновщика множество графических команд в буфер графических команд, расположенный в контексте выполнения компоновщика, причем графические команды предназначены для вычерчивания графических изображений вместо вычерчивания графических изображений за пределами экранной поверхности;
составляют с помощью компоновщика отображения на экране по команде элементов языка разметки гипертекста (HTML) графического приложения на экранной поверхности, причем контекст выполнения связан с экранной поверхностью;
подмешивают с помощью компоновщика видеослой в буфер команд компоновщика в контексте выполнения и подмешивают с помощью компоновщика слой видеомаски в буфер команд компоновщика;
вставляют с помощью компоновщика множество команд окна просмотра, связанных с графическими функциями WebGL, в буфер команд компоновщика; и
копируют с помощью компоновщика после этапа вставки графические команды из буфера графических команд в буфер команд компоновщика, причем скопированные графические команды в последующем предоставляют в графический процессор для визуализации на экранной поверхности, которую, в свою очередь, отображают на устройстве отображения вычислительного устройства.
10. Способ по п. 9, дополнительно содержащий этапы, на которых вставляют с помощью компоновщика команды окна просмотра компоновщика в буфер команд компоновщика и подмешивают с помощью компоновщика графический слой наложения в буфер команд компоновщика.
11. Способ по п. 9, дополнительно содержащий этап, на котором загружают с помощью компоновщика графические функции в контекст выполнения.
12. По меньшей мере один носитель информации, содержащий множество команд, выполненных с возможностью вызывать выполнение компьютерным устройством в ответ на исполнение команд компьютерным устройством множества операций графической обработки, включающих в себя:
операцию вставки, при которой компоновщик компьютерного устройства вставляет множество команд окна просмотра, связанных с множеством графических функций сетевой графической библиотеки (WebGL), в буфер команд компоновщика в контексте выполнения компоновщика, причем графические функции WebGL связаны с графическим приложением компьютерного устройства и исполняются в контексте выполнения компоновщика, и записывает графические команды для вычерчивания графических изображений вместо вычерчивания за пределами экранной поверхности в буфер графических команд в контексте выполнения компоновщика;
операцию копирования, при которой компоновщик копирует множество графических команд графических функций WebGL после операции вставки из буфера графических команд в буфер команд компоновщика;
при этом скопированные графические команды в последующем предоставляются из буфера команд компоновщика в графический процессор для визуализации на экранной поверхности, которая, в свою очередь, отображается на устройстве отображения вычислительного устройства;
при этом компоновщик составляет отображения на экране по команде элементов языка разметки гипертекста (HTML) графического приложения на экранной поверхности, причем контекст выполнения связан с экранной поверхностью.
13. По меньшей мере один носитель информации по п. 12, в котором операции дополнительно содержат операцию подмешивания, при которой компоновщик подмешивает видеослой на экранную поверхность.
14. По меньшей мере один носитель информации по п. 12, в котором операции дополнительно содержат операцию подмешивания, при которой компоновщик подмешивает слой видеомаски на экранную поверхность.
15. По меньшей мере один носитель информации по п. 12, в котором операции дополнительно содержат операцию подмешивания, при которой компоновщик подмешивает слой наложения на экранную поверхность.
16. По меньшей мере один носитель информации по п. 12, в котором операции дополнительно содержат другую операцию вставки, при которой компоновщик вставляет команды окна просмотра компоновщика в буфер команд компоновщика.
17. По меньшей мере один носитель информации по п. 12, в котором операции дополнительно содержат операцию запроса, при которой компоновщик запрашивает в графическом приложении обратный вызов кадра анимации, или операцию загрузки, при которой компоновщик загружает графические функции в контекст выполнения компоновщика.
Колосоуборка | 1923 |
|
SU2009A1 |
Vangelis Kokkevis et al | |||
GPU Accelerated Compositing in Chrome - The Chromium Projects, май 2012, 8 c | |||
в Malte Ubl, Improving the Performance of your HTML5 App, 14.02.2011, 18 c | |||
СХЕМА ДЛЯ УПАКОВКИ И СВЯЗЫВАНИЯ ПЕРЕМЕННОЙ В ГРАФИЧЕСКИХ СИСТЕМАХ | 2008 |
|
RU2448369C2 |
Авторы
Даты
2017-10-11—Публикация
2013-03-14—Подача