Название: использование аппаратного ускорителя Отправлено: cherv от Февраль 20, 2010, 14:28 Всем доброго времени суток!
я только начинаю свое знакомство с QT и сейчас стоит следующая задача: необходимо создать GUI с использованием аппаратного ускорителя. Подскажите, пожалуйста куда копать и какими средствами можно реализовать? Название: Re: использование аппаратного ускорителя Отправлено: SABROG от Февраль 20, 2010, 14:44 аппаратного ускорителя Это тебе нужно собирать второй андронный коллайдер. Создавай QGraphicsView и ставь ему OpenGL'овский viewport: Код
Затем создавай свои виджеты и помещай на сцену: QGraphicsScene::addWidget() Название: Re: использование аппаратного ускорителя Отправлено: mcrads от Февраль 20, 2010, 18:25 Как понимать использовать аппаратный ускоритель? тебе нежно отрисовывать 3Д графику в отдельном виджете? или же сделать как майкрософт со своими виндовс виста и 7? т.е. "настоящий полностью трехмерный интерфейс"? второе средствами qt проблематично =)) а первое да, SABROG прав ) советую почитать книжки по qt, особенно если найдешь книжку изданную работниками троллей - там подробно разобраны многие фишки.
Название: Re: использование аппаратного ускорителя Отправлено: break от Февраль 21, 2010, 03:04 Цитировать второе средствами qt проблематично =)) KDE 4 видел? Название: Re: использование аппаратного ускорителя Отправлено: lit-uriy от Февраль 21, 2010, 06:43 >>KDE 4 видел?
я видел, только 3-х мерного там ничего не заметил, заметил, что по сравнению с KDE3 сильно тормозит. Название: Re: использование аппаратного ускорителя Отправлено: mcrads от Февраль 21, 2010, 10:08 КДЕ4 имеет всего лишь отличную отрисовку с альфа-картами, не более того. ну может более, но это не столь существенно.
(спецэффекты переходов между рабочими столами - немножко другое, я говорю о трехмерных окошках, кнопочках, панели - как в висте / 7) а если создавать действительно трехмерный интерфейс средствами qt - все это безобразие тормозить будет больше чем кде =) не те средства. Название: Re: использование аппаратного ускорителя Отправлено: cherv от Февраль 21, 2010, 13:14 вообщем ситуация следующая:
есть процессор, со встроенным 2D ускорителем, и дабы снизить нагрузку на сам процессор, необходимо задействовать имеющийся ускоритель для прорисовки пользовательского интерфейса(кнопочки, лэйблы и т.д.) SABROG Спасибо! Попробую :) Цитата: mcrads советую почитать книжки по qt, особенно если найдешь книжку изданную работниками троллей что за работники троллей? как книга называется? в тех книгах, которые у меня есть ничего конкретного не расписано... :( Название: Re: использование аппаратного ускорителя Отправлено: break от Февраль 21, 2010, 13:15 я вообще то не фанат KDE 4
Цитировать по сравнению с KDE3 сильно тормозит. Я качал последний лайв сд специально чтобы посмотреть - у меня на крате NVidia ничего не тормозило совершенноЦитировать спецэффекты переходов между рабочими столами - немножко другое почему это?Цитировать я говорю о трехмерных окошках, кнопочках, панели - как в висте Если мне не изменяет память то там как раз закос под висту со всеми этими трехмерными кнопочками и безобразиемЦитировать а если создавать действительно трехмерный интерфейс средствами qt - все это безобразие тормозить будет больше чем кде =) не те средства 1) не понял фразу - KDE и так написан на Qt 42) зачем в принципе трехмерный интерфейс, и что имеется ввиду - интерфейс на базе GL типа CeGUI или просто красивые окошки с тенями и т.д.? Если второе думаю в Qt с ними проблем с производительностью не будет.. 3) и вообще вы же в курсе про способ ускорения виджетов через OpenGL http://doc.trolltech.com/qq/qq26-openglcanvas.html 4) ну и в конце концов - берем QGlWidget- и там делаем любой интерфейс через OpenGL - думаю даже тот же CeGui можно использовать - только зачем... Название: Re: использование аппаратного ускорителя Отправлено: xokc от Февраль 22, 2010, 13:19 Использовать в качестве render OpenVG. Если сможешь скомпилировать Qt с его поддержкой. И если твоя видеокарта и драйверы к ней поддерживают OpenVG.
Название: Re: использование аппаратного ускорителя Отправлено: SABROG от Февраль 22, 2010, 14:29 Использовать в качестве render OpenVG. Если сможешь скомпилировать Qt с его поддержкой. И если твоя видеокарта и драйверы к ней поддерживают OpenVG. Насколько я знаю OpenVG больше для мобильных устройств рассчитан. К тому же мне не удалось найти ни одного примера сборки OpenVG с Qt под windows и пример работающего приложения. Название: Re: использование аппаратного ускорителя Отправлено: BRE от Февраль 22, 2010, 14:48 Насколько я знаю OpenVG больше для мобильных устройств рассчитан. К тому же мне не удалось найти ни одного примера сборки OpenVG с Qt под windows и пример работающего приложения. Собирал пару версий Qt с ShivaVG под linux, качественно рисовать заставить не получилось. :(Использование OpenGL в качестве graphicssystem дает картинку значительно качественней. Название: Re: использование аппаратного ускорителя Отправлено: SABROG от Февраль 22, 2010, 15:59 Хотел собрать ShivaVG в MSYS. Пришлось доставлять кучу отсутствующих пакетов под MSYS, в итоге застрял на этапе ./configure, нет OpenGL и GLUT исходников. Как я понял GLUT невозможно собрать под Windows компилятором MinGW (только MSVC или linux). Есть порт, но он настолько старый, что в FAQ'e по MinGW существует длинная портянка, которая должно исправить проблемы с компиляцией этого порта. В общем я забил на это.
Название: Re: использование аппаратного ускорителя Отправлено: cherv от Февраль 28, 2010, 00:43 OpenVG не катит, т.к. на сколько я понял это для векторной графики... А вот OpenGL ES 1.1 самое оно. :)
Вот только пока что не могу понять как заставить QT использовать именно его а не обычный OpenGL. Если кто-то занимался таким, подскажите плиз.... и еще такой вопрос такой: в процессе выполнения не происходит прорисовки лейбла 2 раза, т.е. долго думает, а потом поворачивает сразу на 165 градусов. Как заставить прорисовывать дважды? ::) Код:
Название: Re: использование аппаратного ускорителя Отправлено: SABROG от Февраль 28, 2010, 00:52 Код:
Сам же его думать и заставил. Блокируешь главный цикл событий на 10 секунд, в это время никакие события не обрабатываются, а сидят в очереди и жду когда же ты вернешься. Перерисовка окна это тоже событие. Люди отдельные потоки не из прихоти используют, а чтобы интерфейс программы оставался рабочим в момент выполнения долгих операций. Смотри в сторону Animation Framework или вращай виджет по таймеру. Название: Re: использование аппаратного ускорителя Отправлено: xokc от Февраль 28, 2010, 18:05 OpenVG не катит, т.к. на сколько я понял это для векторной графики... А ты думаешь, что когда рисуешь label это во что превращается? Если ты, конечно, не растровый шрифт используешь. В чистом виде векторная графика. |