The OpenNET Project
 
Поиск (теги):    НОВОСТИ (+) КОНТЕНТ WIKI MAN'ы ФОРУМ twitter

23.03.2015 08:02  Выпуск графического тулкита GTK+ 3.16.0 с возможностью отрисовки через OpenGL

За два дня до выхода GNOME 3.16 представлен стабильный релиз новой ветки многоплатформенного тулкита для создания графического интерфейса пользователя - GTK+ 3.16.0. В состав тулкита входит полный набор виджетов, позволяющих использовать GTK+ для проектов различного уровня и размера. Код GTK+ развивается в рамках проекта GNU и распространяется под лицензией LGPL, что позволяет использовать GTK+ не только для разработки свободного ПО, но и для создания проприетарных приложений, не требуя от производителей закрытых программ выплаты роялти или покупки специальной лицензии. С тех пор, как GTK+ был разработан в рамках проекта GIMP, тулкит используется в различных проектах, например, GTK+ лежит в основе десктоп-окружений GNOME и Xfce или используется в таких продуктах, как Firefox и OpenOffice/LibreOffice.

GTK+ спроектирован для поддержки не только C/C++, но и других языков программирования, таких как Perl и Python, что в сочетании с использованием визуального построителя интерфейса Glade позволяет существенно упростить разработку и сократить время написания графических интерфейсов. Организация вывода в GTK+ абстрагирована от типа оконных систем, например, поставляется бэкенд, обеспечивающий возможность работы поверх дисплейного сервера Wayland, а также бэкенд, позволяющий отрисовывать вывод библиотеки GTK+ в окне web-браузера (запустив Gtk-приложение на одной машине, можно открыть web-браузер на другой машине и получить доступ к интерфейсу данной программы).

Из добавленных в GTK+ 3.16.0 улучшений можно отметить:

  • В GDK (GIMP Drawing Kit) встроена поддержка OpenGL, которая позволяет организовать отрисовку через OpenGL без использования внешних надстроек. Для рендеринга через OpenGL представлен новый виджет GtkGLArea, который ранее распространялся в виде внешнего дополнения. В обиход введён новый тип объекта GdkGLContext, который позволяет прикрепить контекст OpenGL к определённому окну GdkWindow и использовать команды OpenGL для отрисовки произвольных элементов GTK+ в данном окне. Реализация позволяет использовать OpenGL для отрисовки в окружениях X11 и Wayland через libepoxy с использованием GLX или EGL.

  • В состав включён экспериментальный GDK-бэкенд, обеспечивающий возможность работы поверх дисплейного сервера Mir. Бэкенд включает в себя около 5 тысяч строк кода и пока не собирается по умолчанию - для его сборки требуется указать опцию "--enable-mir-backend". Для запуска приложения с использованием данного бэкенда следует установить переменную окружения "GDK_BACKEND=mir";
  • Для объекта GtkStack реализован новый контроллер GtkStackSidebar, позволяющий создавать боковые панели;
  • Добавлен новый тип кнопок GtkModelButton, в которых в качестве модели выступает GAction;
  • В объект GtkPopover добавлен подкласс GtkPopoverMenu, упрощающий создание кнопок в заголовке окна (popover) в форме меню;
  • Переработаны компоненты, отвечающие за прокрутку содержимого окон. Добавлена поддержка перекрытия (overlay) полос прокрутки. Обеспечена возможность индикации запрета прокрутки ('scrolled off'). Представлены новые сигналы "::edge-reached" и "::edge-overshot", а также новое правило GTK_POLICY_EXTERNAL, например, позволяющее реализовать сдвиг без видимых полос прокрутки.
  • Удалены или объявлены устаревшими вызовы: gdk_window_set_static_gravities, gdk_window_set_composited, gtk_style_context_get_background_color, gtk_style_context_get_border_color, gtk_settings_set_string/long/double_property, gtk_settings_install_property, GtkStyleProperties, gdk_cursor_new, gdk_*_libgtk_only, GtkCellRendererPixbuf::follow-state.


  1. Главная ссылка к новости (https://mail.gnome.org/archives/gnome-an...)
  2. OpenNews: Выпуск музыкального проигрывателя Audacious 3.6, вернувшегося с GTK3+ на GTK2+
  3. OpenNews: В состав GTK+ интегрирована поддержка дисплейного сервера Mir
  4. OpenNews: Для GTK+ представлена встроенная поддержка OpenGL
  5. OpenNews: Выпуск графического тулкита GTK+ 3.14.0 и графической библиотеки Clutter 1.20.0
  6. OpenNews: Началось бета-тестирование GNOME 3.16
Тип: Программы
Ключевые слова: gtk, (найти похожие документы)
При перепечатке указание ссылки на opennet.ru обязательно
Реклама
Обсуждение Линейный вид (Ajax) | Показать все | RSS
 
  • 1.1, Аноним, 08:25, 23/03/2015 [ответить] [смотреть все]
  • +4 +/
    Вчера обновил Homebank до версии 5, который использует GTK 3, это какой-то кошма... весь текст скрыт [показать]
     
     
  • 2.6, Аноним, 09:42, 23/03/2015 [^] [ответить] [смотреть все] [показать ветку]  
  • +2 +/
    Почти как настоящий банк Тормозит на слабых камнях, зато с свежим ремон W W кра... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.24, Xasd, 16:43, 23/03/2015 [^] [ответить] [смотреть все]  
  • +3 +/
    1 тормозит -- прям вот именно из-за GTK3 точно-точно определил причину 2 н... весь текст скрыт [показать]
     
     
  • 4.25, Mihail Zenkov, 17:07, 23/03/2015 [^] [ответить] [смотреть все]  
  • +2 +/
    Нужно просто нормально подходить к написанию софта - без overhead overkill overe... весь текст скрыт [показать]
     
     
  • 5.27, Xasd, 17:27, 23/03/2015 [^] [ответить] [смотреть все]  
  • +/
    справедливое замечение однако надо и не забывать что старые компьютеры -- могут... весь текст скрыт [показать]
     
     
  • 6.38, Mihail Zenkov, 20:28, 23/03/2015 [^] [ответить] [смотреть все]  
  • +/
    > однако надо и не забывать что старые компьютеры -- могут в несколько
    > раз (именно в несколько раз, а не на несколько десятков процентов)
    > быть слабее чем современные энергоэффективные двухядерные.

    Согласен, но повышенная энергоэффективность (на десктопах) не окупится, так как затраты на электроэнергию меньше, чем апгрейд (+ производство нового и утилизация старого железа).

     
     
  • 7.47, Аноним, 03:42, 24/03/2015 [^] [ответить] [смотреть все]  
  • +/
    Намекаете, что ваше время ничего не стоит Ну так, если вам не лень ждать машину... весь текст скрыт [показать]
     
     
  • 8.48, Mihail Zenkov, 11:51, 24/03/2015 [^] [ответить] [смотреть все]  
  • +/
    > Намекаете, что ваше время ничего не стоит? Ну так, если вам не
    > лень ждать машину...

    Речь о системах с равной производительностью, но разным энергопотреблением.

    Что же касаемо скорости системы - то тут все очень сильно зависит от задачи (и кривости приложений). Мне в большинстве случаев хватает старого ноута (1.66Mhz x 2, 2GB), но для рендеринга не хватает и десктопного процессора (3.5Mhz x 4), только OpenCL спасает ситуацию.

     
  • 4.26, да я же, 17:10, 23/03/2015 [^] [ответить] [смотреть все]  
  • +/
    Отойдём немного в сторону evince 2 x и evince 3 x Первый собран с gtk-2, второ... весь текст скрыт [показать]
     
     
  • 5.28, Xasd, 17:30, 23/03/2015 [^] [ответить] [смотреть все]  
  • +2 +/
    спасибо, конечно, за проявление этой уверенности уверен, что многие люди своей... весь текст скрыт [показать]
     
     
  • 6.36, фыв, 18:30, 23/03/2015 [^] [ответить] [смотреть все]  
  • +1 +/
    То есть более свежая версия программы менее оптимизирована? При прочих равных (один документ). Тогда это не прогресс, а регрессия.
     
     
  • 7.37, Xasd, 18:46, 23/03/2015 [^] [ответить] [смотреть все]  
  • +1 +/
    если вся твоя активность -- определятся только этим одним документом -- то [b]быть может да. в данной ситуации это можно было бы рассмотреть как регресс[/b].

    но вопрос в том стали ли другие документы (и на других компьютерах с другими видокартами) -- тоже работать в новой версии хуже %) %)

    а когда повится Wayland -- то нужно будет ещё раз провести все эти тесты производительности [например: насколько "быстро" работает Evince-2 в режиме XWayland -- в сравнении с -- Evince-3 в режиме Native-Wayland ]

     
  • 5.41, Mihail Zenkov, 20:55, 23/03/2015 [^] [ответить] [смотреть все]  
  • +/
    > Отойдём немного в сторону. evince 2.x и evince 3.x. Первый собран с
    > gtk-2, второй с gtk-3. У первого на i5 список превью 100-страничной
    > pdf в панели слева скроллится без видимых тормозов. У второго движется
    > с раздражающими лагами. Уверен, проблема в gtk-3.

    Для полной уверенности нужно протировать gtkperf на gtk3. Есть желающие попробовать?

    Можно попробовать профайлером локализовать тормозящее место. Есть очень простой в использовании профайлер - sysprof (http://sysprof.com).

     
     
  • 6.44, Аноним, 23:36, 23/03/2015 [^] [ответить] [смотреть все]  
  • +/
    Парочка баянов http www linux org ru forum talks 7592498 http www linux org... весь текст скрыт [показать]
     
  • 2.7, S., 09:45, 23/03/2015 [^] [ответить] [смотреть все] [показать ветку]  
  • +2 +/
    yum downgrade... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.33, Аноним, 17:53, 23/03/2015 [^] [ответить] [смотреть все]  
  • +2 +/
    dnf downgrade, дедушка ... весь текст скрыт [показать]
     
  • 1.3, Аноним2, 09:14, 23/03/2015 [ответить] [смотреть все]  
  • +2 +/
    > gdk_window_set_static_gravities ...

    Трехэтажненько.

     
     
  • 2.8, Нанобот, 09:57, 23/03/2015 [^] [ответить] [смотреть все] [показать ветку]  
  • +1 +/
    не прошло и двадцати лет, как аноним обратил внимание ... весь текст скрыт [показать] [показать ветку]
     
  • 2.10, sorrymak, 10:20, 23/03/2015 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Энтерпрайз ... весь текст скрыт [показать] [показать ветку]
     
  • 2.13, Crazy Alex, 11:54, 23/03/2015 [^] [ответить] [смотреть все] [показать ветку]  
  • –1 +/
    Большая либа C - результат закономерен Плата за эмуляцию классов ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.17, Mihail Zenkov, 14:44, 23/03/2015 [^] [ответить] [смотреть все]  
  • +2 +/
    Просто не очень хороший принцип форматирования названий Ведь можно назвать так ... весь текст скрыт [показать]
     
     
  • 4.29, nexfwall, 17:31, 23/03/2015 [^] [ответить] [смотреть все]  
  • +1 +/
    Всем бы вам, любителям CamelCase, да запихнуть его везде В те времена, когда GT... весь текст скрыт [показать]
     
     
  • 5.34, Аноним, 17:56, 23/03/2015 [^] [ответить] [смотреть все]  
  • +/
    Её и сейчас не везде уважают На Python часто разделяют слова подчёркиванием Чи... весь текст скрыт [показать]
     
     
  • 6.35, nexfwall, 18:02, 23/03/2015 [^] [ответить] [смотреть все]  
  • –1 +/
    > Её и сейчас не везде уважают. На Python часто разделяют слова подчёркиванием.
    > Читается и набирается проще, чем какое-нибудь XMLHttpRequest.

    И это хорошо. Пускай оно остаётся в Java, или откуда бы там еще оно не вылезло.

     
  • 6.45, Аноним, 23:48, 23/03/2015 [^] [ответить] [смотреть все]  
  • +/
    Что Shift - для подчёркивания, что Shift буква для CamelCase -- один фиг Читабе... весь текст скрыт [показать]
     
  • 5.43, Mihail Zenkov, 21:32, 23/03/2015 [^] [ответить] [смотреть все]  
  • +/
    > Всем бы вам, любителям CamelCase, да запихнуть его везде.

    Вас никто не заставляет его использовать. ИМХО мой вариант читается лучше, так как явно отделяет класс от функции.

    > В те времена, когда GTK только рождался, не было моды на верблюжатину.

    OpenGL Initial release: January 1992.
    glBegin, glEnd, glArrayElement ...

     
  • 4.42, Аноним, 21:18, 23/03/2015 [^] [ответить] [смотреть все]  
  • +/
    Где-то были исследования, что КэмелКейс читается хуже чем снейк_кейс ... весь текст скрыт [показать]
     
  • 2.19, Аноним, 15:08, 23/03/2015 [^] [ответить] [смотреть все] [показать ветку]  
  • –1 +/
    Так оно и удалено ... весь текст скрыт [показать] [показать ветку]
     
  • 1.9, Zenitur, 10:15, 23/03/2015 [ответить] [смотреть все]  
  • –1 +/
    > GTK+ с возможностью отрисовки через OpenGL

    ДАЛАДНА! Через 8 лет после того, как этому научился Qt!

     
     
  • 2.11, iZEN, 11:00, 23/03/2015 [^] [ответить] [смотреть все] [показать ветку]  
  • –2 +/
    Вообще-то, в Gtk был есть Clutter, который, по крайней мере, уже в 2008 году по... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.15, Анонимус сапиенс, 12:29, 23/03/2015 [^] [ответить] [смотреть все]  
  • +12 +/
    Нормальный человек даст ссылку на сайт проекта. Но бздуны...
     
     
  • 4.39, iZEN, 20:38, 23/03/2015 [^] [ответить] [смотреть все]  
  • –1 +/
    По приведённой ссылке есть всё: ссылка на сайт разработчиков и история изменения версий, начиная с той, с которой заработала заявленная функциональность во FreeBSD. К сожалению, моя картина мира не содержит фактов работы библиотеки версий ниже, чем указана в истории порта (сопровождаю FreeBSD с лета 2006 года). Может на линуксах и раньше работала - кто знает?
     
     
  • 5.46, Аноним, 02:02, 24/03/2015 [^] [ответить] [смотреть все]  
  • +/
    Только надо потратить в 2 раза больше времени на копание в нафигнужном крапе А ... весь текст скрыт [показать]
     
     
  • 6.68, iZEN, 19:15, 24/03/2015 [^] [ответить] [смотреть все]    [к модератору]  
  • +/
    >> По приведённой ссылке есть всё
    > Только надо потратить в 2 раза больше времени на копание в нафигнужном крапе.

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

    > А потом некоторые удивляются: почему кто-то считает что бздуны все
    > делают контрпродуктивно и криво?!

    Это линуксоиды всё переусложняют и вываливают кучу левосторонних ссылок вместо одной нужной.


     
  • 2.12, waker, 11:15, 23/03/2015 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    в gtk2 эта возможность была сколько себя помню через gtkglext ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.18, Mihail Zenkov, 14:53, 23/03/2015 [^] [ответить] [смотреть все]  
  • +1 +/
    gtkglext позволяет отрисовывать собственную графику через OpenGL При этом видже... весь текст скрыт [показать]
     
     
  • 4.20, waker, 15:32, 23/03/2015 [^] [ответить] [смотреть все]  
  • +/
    а эта новость, по-твоему, про что на скриншоте демонстрируется виджет GtkGLArea... весь текст скрыт [показать]
     
     
  • 5.21, Mihail Zenkov, 15:42, 23/03/2015 [^] [ответить] [смотреть все]  
  • +/
    На скриншоте видно, что полупрозрачный элемент перекрывает элементы управления ... весь текст скрыт [показать]
     
     
  • 6.22, waker, 15:49, 23/03/2015 [^] [ответить] [смотреть все]  
  • +1 +/
    это называется compositing кстати, в месте перекрытия, на стыке с opengl-виджет... весь текст скрыт [показать]
     
     
  • 7.23, Mihail Zenkov, 16:12, 23/03/2015 [^] [ответить] [смотреть все]  
  • +/
    Про GtkGLArea верно Речь о GdkWindow Насколько я понимаю теперь все может отри... весь текст скрыт [показать]
     
     
  • 8.31, waker, 17:44, 23/03/2015 [^] [ответить] [смотреть все]  
  • +/
    Насколько я понимаю всю эту кухню, речь идет об инфраструктуре внутри GDK, котор... весь текст скрыт [показать]
     
     
  • 9.40, Mihail Zenkov, 20:40, 23/03/2015 [^] [ответить] [смотреть все]  
  • +/
    > Насколько я понимаю всю эту кухню, речь идет об инфраструктуре внутри GDK,
    > которая нужна для GtkGLArea и подобных. Рисование "обычных" виджетов происходит через
    > cairo в любом случае.

    Нет. GdkWindow это базовое окно, через которое отрисовывается GtkWindow и остальные виджеты.

    > Чтобы виджеты рисовали через opengl -- их
    > нужно будет специальным образом переделывать. Это никак не касается существующих виджетов.

    Переделывать не нужно, достаточно подменить часть отвечающую за примитивы. Иначе было бы не возможно отрисовывать виджеты внутри браузера или в wayland (без xlib).

     
     
  • 10.49, waker, 12:04, 24/03/2015 [^] [ответить] [смотреть все]  
  • +/
    >> Насколько я понимаю всю эту кухню, речь идет об инфраструктуре внутри GDK,
    >> которая нужна для GtkGLArea и подобных. Рисование "обычных" виджетов происходит через
    >> cairo в любом случае.
    > Нет.

    O_O

    > Переделывать не нужно, достаточно подменить часть отвечающую за примитивы. Иначе было бы
    > не возможно отрисовывать виджеты внутри браузера или в wayland (без xlib).

    не путай теплое с мягким. opengl есть и в иксах, и в вяленом. и новость как раз про то, как использовать opengl в отдельно взятых виджетах. причем там же, в новости, конкретно упоминается, что в данный момент это работает только с иксовым и вяленым бакендами: "currently
      this is implemented for X11 and Wayland using libepoxy"

     
     
  • 11.50, Mihail Zenkov, 12:27, 24/03/2015 [^] [ответить] [смотреть все]  
  • +/
    > не путай теплое с мягким. opengl есть и в иксах, и в
    > вяленом. и новость как раз про то, как использовать opengl в
    > отдельно взятых виджетах.

    Применительно к GtkGLArea - да. Но не к GdkWindow.

    Как по-вашему происходит отрисовка GtkButton (и остальных виджетов) на wayland?

     
     
  • 12.52, waker, 13:08, 24/03/2015 [^] [ответить] [смотреть все]  
  • +/
    >> не путай теплое с мягким. opengl есть и в иксах, и в
    >> вяленом. и новость как раз про то, как использовать opengl в
    >> отдельно взятых виджетах.
    > Применительно к GtkGLArea - да. Но не к GdkWindow.
    > Как по-вашему происходит отрисовка GtkButton (и остальных виджетов) на wayland?

    в точности так же, как на любом другом бакенде.

    если тебе самому влом посмотреть в код, то: gtk_render_background, gtk_render_frame, gtk_render_focus, + вызовом метода родительского класса (GtkBin), который дергает отрисовку contained widgets. и все это через каиру.

     
     
  • 13.54, Mihail Zenkov, 13:49, 24/03/2015 [^] [ответить] [смотреть все]  
  • +/
    Я имел ввиду другое: если используешь wayland, то все виджеты рисуешь через OpenGL.
     
     
  • 14.55, waker, 13:53, 24/03/2015 [^] [ответить] [смотреть все]  
  • +/
    > Я имел ввиду другое: если используешь wayland, то все виджеты рисуешь через
    > OpenGL.

    я потерял нить твоих рассуждений на этом месте.

     
     
  • 15.57, Mihail Zenkov, 14:00, 24/03/2015 [^] [ответить] [смотреть все]  
  • +/
    >> Я имел ввиду другое: если используешь wayland, то все виджеты рисуешь через
    >> OpenGL.
    > я потерял нить твоих рассуждений на этом месте.

    В wayland все выводится через OpenGL, другого средства 2d ускорения не предусмотрено.

     
     
  • 16.58, waker, 14:11, 24/03/2015 [^] [ответить] [смотреть все]  
  • +/
    >>> Я имел ввиду другое: если используешь wayland, то все виджеты рисуешь через
    >>> OpenGL.
    >> я потерял нить твоих рассуждений на этом месте.
    > В wayland все выводится через OpenGL, другого средства 2d ускорения не предусмотрено.

    omg, ну и причем тут это? ты в коде рисуешь все через каиру. все операции рисования в cairosurfaces - не через opengl. то что wayland потом все это дело композитит через opengl -- совсем другая история. извини, чувак, мне больше с тобой не о чем говорить.

     
     
  • 17.60, Mihail Zenkov, 15:01, 24/03/2015 [^] [ответить] [смотреть все]  
  • +/
    >>>> Я имел ввиду другое: если используешь wayland, то все виджеты рисуешь через
    >>>> OpenGL.
    >>> я потерял нить твоих рассуждений на этом месте.
    >> В wayland все выводится через OpenGL, другого средства 2d ускорения не предусмотрено.
    > omg, ну и причем тут это? ты в коде рисуешь все через
    > каиру. все операции рисования в cairosurfaces - не через opengl. то
    > что wayland потом все это дело композитит через opengl -- совсем
    > другая история. извини, чувак, мне больше с тобой не о чем
    > говорить.

    Не извиню :) Композит тут не причем. Как cairo рисует линии и прямоугольники в wayland?

     
     
  • 18.61, waker, 15:04, 24/03/2015 [^] [ответить] [смотреть все]  
  • +/
    >[оверквотинг удален]
    >>>>> OpenGL.
    >>>> я потерял нить твоих рассуждений на этом месте.
    >>> В wayland все выводится через OpenGL, другого средства 2d ускорения не предусмотрено.
    >> omg, ну и причем тут это? ты в коде рисуешь все через
    >> каиру. все операции рисования в cairosurfaces - не через opengl. то
    >> что wayland потом все это дело композитит через opengl -- совсем
    >> другая история. извини, чувак, мне больше с тобой не о чем
    >> говорить.
    > Не извиню :) Композит тут не причем. Как cairo рисует линии и
    > прямоугольники в wayland?

    я понятия не имею, но скорее всего попиксельно в буфере (без аппаратного ускорения).

     
     
  • 19.62, Mihail Zenkov, 15:09, 24/03/2015 [^] [ответить] [смотреть все]  
  • +/
    > я понятия не имею, но скорее всего попиксельно в буфере (без аппаратного
    > ускорения).

    В 21-ом веке :) Через xlib > ddx > eax/sna > drm > kms или xlib > ddx > glamor > opengl > drm > kms. Теперь будет через opengl > drm > kms как для wayland, так и для Xorg.

     
     
  • 20.63, waker, 15:12, 24/03/2015 [^] [ответить] [смотреть все]  
  • +/
    >> я понятия не имею, но скорее всего попиксельно в буфере (без аппаратного
    >> ускорения).
    > В 21-ом веке :) Через xlib > ddx > eax/sna > drm
    > > kms или xlib > ddx > glamor > opengl >
    > drm > kms. Теперь будет через opengl > drm > kms
    > как для wayland, так и для Xorg.

    да хоть в 31м. пруфы будут?

     
  • 21.64, Mihail Zenkov, 15:17, 24/03/2015 [^] [ответить] [смотреть все]  
  • +/
    > да хоть в 31м. пруфы будут?

    Отключи eax/san и запусти gtkperf.

    Cairo is designed to produce consistent output on all output media while taking advantage of display hardware acceleration when available (eg. through the X Render Extension).
    http://cairographics.org/

     
  • 22.65, waker, 15:23, 24/03/2015 [^] [ответить] [смотреть все]  
  • +/
    >> да хоть в 31м. пруфы будут?
    > Отключи eax/san и запусти gtkperf.

    ты понимаешь, что ты щас пытаешься зачем-то доказывать, что каира в вяленде рисует графику через xlib?

     
  • 23.66, Mihail Zenkov, 16:54, 24/03/2015 [^] [ответить] [смотреть все]    [к модератору]  
  • +/
    > ты понимаешь, что ты щас пытаешься зачем-то доказывать, что каира в вяленде
    > рисует графику через xlib?

    У тебя wayland? Я написал как самому проверить, есть 2d ускорение в gtk/cairo или нет.

    Для wayland отрисовка всегда идет через opengl иначе будет очень медленно.

     
  • 24.67, waker, 17:55, 24/03/2015 [^] [ответить] [смотреть все]    [к модератору]  
  • +/
    >> ты понимаешь, что ты щас пытаешься зачем-то доказывать, что каира в вяленде
    >> рисует графику через xlib?
    > У тебя wayland? Я написал как самому проверить, есть 2d ускорение в
    > gtk/cairo или нет.

    у меня макось в данный момент.

    > Для wayland отрисовка всегда идет через opengl иначе будет очень медленно.

    что ты под этим подразумеваешь?

    я предоставлю тебе возможность выбрать из нескольких вариантов:

    * gtk виджеты рисуют напрямую через opengl минуя каиру
    * каира использует opengl-бакенд
    * каира рисует как обычно, но композитинг производится средствами opengl
    * все вышеперечисленное
    * свой вариант

    ?

     
  • 25.69, Mihail Zenkov, 20:03, 24/03/2015 [^] [ответить] [смотреть все]    [к модератору]  
  • +/
    > у меня макось в данный момент.

    Все что я пишу справедливо для linux, как у мака построена графическая подсистема я не знаю.

    >> Для wayland отрисовка всегда идет через opengl иначе будет очень медленно.
    > что ты под этим подразумеваешь?

    Компоузинг окон идет через OpenGL, за это отвечает weston, тулкит отвечает только за отрисовку внутри окна.

    GdkWindow создает окно с контекстом OpenGL. Рисовать в нем можно только через OpenGL, соответственно cairo использует GL_LINE/GL_QUADS/etc (opengl-бакенд) для отрисовки примитивов. Виджеты используют cairo.

     
  • 26.70, waker, 20:07, 24/03/2015 [^] [ответить] [смотреть все]    [к модератору]  
  • +/
    >> у меня макось в данный момент.
    > Все что я пишу справедливо для linux, как у мака построена графическая
    > подсистема я не знаю.
    >>> Для wayland отрисовка всегда идет через opengl иначе будет очень медленно.
    >> что ты под этим подразумеваешь?
    > Компоузинг окон идет через OpenGL, за это отвечает weston, тулкит отвечает только
    > за отрисовку внутри окна.
    > GdkWindow создает окно с контекстом OpenGL. Рисовать в нем можно только через
    > OpenGL, соответственно cairo использует GL_LINE/GL_QUADS/etc (opengl-бакенд) для отрисовки
    > примитивов. Виджеты используют cairo.

    т.е., ты выбрал вариант

    > каира использует opengl-бакенд

    пруфы будут?

     
  • 27.71, Mihail Zenkov, 20:21, 24/03/2015 [^] [ответить] [смотреть все]    [к модератору]  
  • +/
    > пруфы будут?

    http://www.linuxfromscratch.org/blfs/view/svn/x/cairo.html

    --enable-gl: This switch enables Cairo's experimental OpenGL surface which is required for Wayland compositor

     
  • 28.72, waker, 20:30, 24/03/2015 [^] [ответить] [смотреть все]    [к модератору]  
  • +/
    >> пруфы будут?
    > http://www.linuxfromscratch.org/blfs/view/svn/x/cairo.html
    > --enable-gl: This switch enables Cairo's experimental OpenGL surface which is required
    > for Wayland compositor

    осталось предоставить пруф, что это действительно работает в wayland+gtk, да еще и по-умолчанию, и никак иначе (ты ведь это пытаешься доказать?)

    и, надеюсь, ты понимаешь, что "opengl surface" != "все операции cairo транслируются в GL_LINES/GL_QUADS/...", да? это вообще может значить что угодно.

    иными словами, опция configure --enable-gl _НЕ_ включает opengl backend, а просто добавляет поддержку рисования в opengl surface. а рисовать в оный surface можно как угодно, совсем не обязательно через opengl.

    в итоге, мы возвращаемся к тому, что я выше и написал -- opengl используется для композитинга, и не более.

     
  • 29.73, Mihail Zenkov, 20:43, 24/03/2015 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Расскажи мне, как рисовать на opengl surface, не использую opengl configur... весь текст скрыт [показать]
     
  • 30.74, waker, 20:59, 24/03/2015 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    рисуешь как угодно в буфер, потом средствами opengl копируешь данные в opengl su... весь текст скрыт [показать]
     
  • 11.51, Mihail Zenkov, 12:35, 24/03/2015 [^] [ответить] [смотреть все]  
  • +/
    >>> Насколько я понимаю всю эту кухню, речь идет об инфраструктуре внутри GDK,
    >>> которая нужна для GtkGLArea и подобных. Рисование "обычных" виджетов происходит через
    >>> cairo в любом случае.
    >> Нет.
    > O_O

    Cairo уже умеет отрисовывать через OpenGL/EGL. Насколько я понимаю оставалось только научить базовое окно (GdkWindow) тоже использовать OpenGL и получить полную отрисовку всего через OpenGL  -  "to use OpenGL to draw everything".

     
     
  • 12.53, waker, 13:08, 24/03/2015 [^] [ответить] [смотреть все]  
  • +/
    >>>> Насколько я понимаю всю эту кухню, речь идет об инфраструктуре внутри GDK,
    >>>> которая нужна для GtkGLArea и подобных. Рисование "обычных" виджетов происходит через
    >>>> cairo в любом случае.
    >>> Нет.
    >> O_O
    > Cairo уже умеет отрисовывать через OpenGL/EGL. Насколько я понимаю оставалось только научить
    > базовое окно (GdkWindow) тоже использовать OpenGL и получить полную отрисовку всего
    > через OpenGL  -  "to use OpenGL to draw everything".

    угу, наверное. но в новости об этом ни слова :)

     
     
  • 13.56, Mihail Zenkov, 13:57, 24/03/2015 [^] [ответить] [смотреть все]  
  • +/
    > угу, наверное. но в новости об этом ни слова :)

    Все там есть, только не отделено от GtkGLArea, что и вводит в заблуждение.

    > В обиход введён новый тип объекта GdkGLContext, который позволяет прикрепить контекст OpenGL к определённому окну GdkWindow и использовать команды OpenGL для отрисовки произвольных элементов GTK+ в данном окне.

     
  • 1.32, Аноним, 17:51, 23/03/2015 [ответить] [смотреть все]  
  • –2 +/
    Ну вот, собирался сегодня достать из пыльного шкафа системник с Арчем, расчехлит... весь текст скрыт [показать]
     
  • 1.59, Андрей, 14:37, 24/03/2015 [ответить] [смотреть все]  
  • +/
    > В GDK (GIMP Drawing Kit) встроена поддержка OpenGL

    Да, но нужно ведь иметь OpenGL 3.2! А это всё ещё не так просто. Вот 2.1 - реально.

     

    Ваш комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:
     
    Навигация
     
     Новости для экспорта XML
     В социальных сетях:  twitter  
     Сводные | за день | мини-новости
     Разделы новостей
     Что нового на OpenNet
     Поиск в новостях
     Новые комментарии
     Добавить свою новость

    Важное
    - 25.03 Релиз GNOME 3.16. Обзор новшеств (124 +50)

    Советы
    - 18.03 Подготовка качественных GIF-файлов из видео при помощи FFmpeg
    - 13.03 Обновление Debian Wheezy до Debian Jessie, не дожидаясь официального релиза
    - 12.03 Подавление шумов средствами PulseAudio
    - 23.02 Создание интерактивных графических моделей в CAS MAXIMA при использовании ОС GNU Linux
    - 05.02 Мониторинг температуры в Zabbix с использованием Digitemp

    Обсуждаемые новости
    - 23:06 Выпуск открытого медиацентра Kodi 14.2 (бывший XBMC)  (16)
    - 22:42 Космическое агентство NASA открыло код платформы для создани (20)
    - 22:35 Релиз Samba 4.2.0. Прекращение поддержки Samba 3 (80)
    - 22:31 На GitHub обрушилась необычная DDoS-атака, проведённая через (110)
    - 20:24 Второй кандидат в релизы инсталлятора Debian 8.0 (52)
    - 20:10 Новая версия легковесного Linux дистрибутива antiX 14.4 (33)
    - 20:00 Доступна финальная бета-версия Ubuntu 15.04, ознаменовавшая  (157)
    - 18:26 Проект OpenBSD выпустил NTP-сервер OpenNTPD 5.7p4 (13)


      Закладки на сайте
      Проследить за страницей
    Created 1996-2015 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    RUNNet TopList
    п╡п╣я│п╣п╩я▀п╣ п╨п╟я─я┌п╦п╫п╨п╦ я─п╟п╥п╡п╩п╣п╨п╟я┌п╣п╩я▄п╫я▀п╣ пЁп╦я└п╨п╦ п╦п╫я┌я─п╣я│п╫я▀п╣ я└п╟п╨я┌я▀ я│п╪п╣я┬п╫я▀п╣ п╡п╦п╢п╣п╬ я│п╪п╣я┬п╫я▀п╣ п╦я│я┌п╬я─п╦п╦ п╦п╥ я│п╬я├я│п╣я┌п╣п╧