|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Теория - [решено] [2D Графика] Использовать OpenGL или рисовать на форме? |
|
Теория - [решено] [2D Графика] Использовать OpenGL или рисовать на форме?
|
Старожил Сообщения: 198 |
Профиль | Отправить PM | Цитировать
Добрый день!
Встала проблема работать в программе с векторной графикой. Причем у пользователя должна быть возможность взаимодействия с графикой. Причем по большей части именно взаимодейстовать (масштабирование, сдвиги), изменения будет вноситься через дополнительные диалоговые окна. Основная загвоздка состоит в том, что в программе может накладываться около 20 слоев этой самой графики (а то и больше). Уж очень боюсь, что будут проблемы с производительностью... Сия программа пишется на С++/Qt. В каких случаях для 2D графики уместно ипользовать OpenGL, а в каких можно обойтись простым рисование на форме? Даст ли OpenGL прирост производительности (например, за счет аппаратного видеоускорения)? Как вообще спинуть максимум нагрузки на видеокарту? Очень надеюсь на ваши советы. Заранее благодарен. |
|
Отправлено: 23:07, 01-10-2011 |
Старожил Сообщения: 198
|
Профиль | Отправить PM | Цитировать Неужто совсем никаких идей? Может я чего упустил... Подскажите, может чего добавить надо про прояснения сути?
|
Отправлено: 19:35, 12-10-2011 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Разный Сообщения: 1294
|
Профиль | Отправить PM | Цитировать сходите на gamedev, там подобные вопросы часто обсуждаются
|
Отправлено: 20:01, 12-10-2011 | #3 |
Необычный Сообщения: 4463
|
Профиль | Сайт | Отправить PM | Цитировать PhilB, абстрактно рассуждать довольно сложно. Да, скорее всего рациональным будет использование готовых графических движков, вместо работы с формой. Т.е. тут надо смотреть, кто или что, как отрисовывает графику (Qt, Cairo, OpenGL), и нагрузить его тестовой программой.
Я думаю вполне возможно смоделировать одновременные действия над объектами, посмотрев, насколько тяжко придется приложению. Какое содержимое будет в "слое", насколько это сложный объект? |
------- Отправлено: 20:22, 12-10-2011 | #4 |
Старожил Сообщения: 198
|
Профиль | Отправить PM | Цитировать Вообще, это по сути будет геоинформационная система. Требования заказчка за неделю неплохо прояснились
Те самые слои - это 1. Сама карта - на отдельных слоях: реки, дороги, поля и.т.п. 2. То что пользователь наносит сверху - подписи всякие, раскраска карты по различным показателям и.т.п Слои описываются как элементы векторной графики: отдельными точками, областями, дугами, ломаными и.т.п. OpenGL использовать не хочу. 1. Ибо динамики там минимум. Только масштабирование/сдвиги. Изменение же картинки будет осуществляться через дополнительные диалоговые окна. (например: разрезать поле, поставить флажок с подписью). 2. Программировать ее сложнее. 3. Как обрабатывать взаимодействие с пользователем в OpenGL не помню. (например: выделить несколько объектов, разрезать их по линии). Но точно сложнее, чем в случае с формой. Вообще на самом деле вопрос двоякий. Я хочу и решить чисто практический вопрос и разобраться с теорией. |
|
Последний раз редактировалось PhilB, 12-10-2011 в 20:54. Отправлено: 20:45, 12-10-2011 | #5 |
Ветеран Сообщения: 5624
|
Профиль | Отправить PM | Цитировать PhilB, я могу тебе через PM дать ICQ одного из разработчиков одной геоинформационной системы Zulu(российская разработка), можешь кратенько у него спросить. А вообще аська есть на их сайте, там же и форум есть - http://www.politerm.com.ru/forums/index.php
Мне кажется, они из первых рук лучше подскажут, как надо сделать. |
------- Отправлено: 01:02, 13-10-2011 | #6 |
Старожил Сообщения: 198
|
Профиль | Отправить PM | Цитировать Delirium, Благодарю. Аську пока не надо. Меня тут намедни пообещали познакомить с товарищем, который "не одну собаку на этом съел".
Посему пока поспрашиваю тех, кто поближе. И пользоваться советом lxa85. Начну с простого рисования... Если производительности не хватит, буду пробовать OpenGL. От дальнейших советов не откажусь |
Отправлено: 18:40, 14-10-2011 | #7 |
Старожил Сообщения: 198
|
Профиль | Отправить PM | Цитировать Все никак руки не доходили отписаться о результатах. Вдруг кому интересно.
В Qt обнаружился мощный полноценный графический движок Graphics View Framework, который предоставляет очень немалые возможности для работы с двухмерной графикой, его возможностей оказалось в целом достаточно. (Хотя и для хранения пространственных данных приходиться использовать свои структуры.) Производительности вроде пока хватает, данный фреймворк использует аппаратное видеоускорение, если это возможно. (В частности нужны фирменные драйвера на видеокарту, при их отсутствии аппаратное ускорение вероятнее всего окажется недоступным). То есть производительности в целом хватает. (Хотя без драйверов притормаживает ощутимо). Считаю тему решенной. Спасибо откликнувшимся |
Отправлено: 22:14, 27-01-2012 | #8 |
Необычный Сообщения: 4463
|
Профиль | Сайт | Отправить PM | Цитировать PhilB, спасибо за отзыв.
|
------- Отправлено: 23:19, 27-01-2012 | #9 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
2010 - Замена Microsoft Office Groove на SharePoint Workspace 2010 | OSZone | Microsoft Office (Word, Excel, Outlook и т.д.) | 0 | 14-04-2010 02:30 | |
MapInfo free viewer? | Denisych | Программное обеспечение Windows | 0 | 10-07-2008 16:02 | |
Перевод MPEG4 формат в формат DVD | Goshar | Видео и аудио: обработка и кодирование | 1 | 21-10-2006 13:56 | |
C++ и Mapinfo (com) | ded-ra | Программирование и базы данных | 1 | 20-01-2006 22:04 |
|