Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Теория - [решено] [2D Графика] Использовать OpenGL или рисовать на форме?

Ответить
Настройки темы
Теория - [решено] [2D Графика] Использовать OpenGL или рисовать на форме?

Старожил


Сообщения: 198
Благодарности: 51


Конфигурация

Профиль | Отправить PM | Цитировать


Изменения
Автор: PhilB
Дата: 06-10-2011
Добрый день!

Встала проблема работать в программе с векторной графикой. Причем у пользователя должна быть возможность взаимодействия с графикой. Причем по большей части именно взаимодейстовать (масштабирование, сдвиги), изменения будет вноситься через дополнительные диалоговые окна. Основная загвоздка состоит в том, что в программе может накладываться около 20 слоев этой самой графики (а то и больше). Уж очень боюсь, что будут проблемы с производительностью... Сия программа пишется на С++/Qt.
В каких случаях для 2D графики уместно ипользовать OpenGL, а в каких можно обойтись простым рисование на форме? Даст ли OpenGL прирост производительности (например, за счет аппаратного видеоускорения)? Как вообще спинуть максимум нагрузки на видеокарту?

Очень надеюсь на ваши советы. Заранее благодарен.

Отправлено: 23:07, 01-10-2011

 

Старожил


Сообщения: 198
Благодарности: 51

Профиль | Отправить PM | Цитировать


Неужто совсем никаких идей? Может я чего упустил... Подскажите, может чего добавить надо про прояснения сути?

Отправлено: 19:35, 12-10-2011 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для ferget

Разный


Сообщения: 1294
Благодарности: 359

Профиль | Отправить PM | Цитировать


сходите на gamedev, там подобные вопросы часто обсуждаются

Отправлено: 20:01, 12-10-2011 | #3


Аватара для lxa85

Необычный


Contributor


Сообщения: 4463
Благодарности: 994

Профиль | Сайт | Отправить PM | Цитировать


PhilB, абстрактно рассуждать довольно сложно. Да, скорее всего рациональным будет использование готовых графических движков, вместо работы с формой. Т.е. тут надо смотреть, кто или что, как отрисовывает графику (Qt, Cairo, OpenGL), и нагрузить его тестовой программой.
Я думаю вполне возможно смоделировать одновременные действия над объектами, посмотрев, насколько тяжко придется приложению.
Какое содержимое будет в "слое", насколько это сложный объект?

-------
- Я не разрешаю тебе быть плохой! Потому что плохие люди совершают плохие поступки. А это нехорошо!
(Из наставлений 5 летней девочки своей младшей сестре)

Это сообщение посчитали полезным следующие участники:

Отправлено: 20:22, 12-10-2011 | #4


Старожил


Сообщения: 198
Благодарности: 51

Профиль | Отправить PM | Цитировать


Вообще, это по сути будет геоинформационная система. Требования заказчка за неделю неплохо прояснились
Те самые слои - это
1. Сама карта - на отдельных слоях: реки, дороги, поля и.т.п.
2. То что пользователь наносит сверху - подписи всякие, раскраска карты по различным показателям и.т.п
Слои описываются как элементы векторной графики: отдельными точками, областями, дугами, ломаными и.т.п.
OpenGL использовать не хочу.
1. Ибо динамики там минимум. Только масштабирование/сдвиги. Изменение же картинки будет осуществляться через дополнительные диалоговые окна. (например: разрезать поле, поставить флажок с подписью).
2. Программировать ее сложнее.
3. Как обрабатывать взаимодействие с пользователем в OpenGL не помню. (например: выделить несколько объектов, разрезать их по линии). Но точно сложнее, чем в случае с формой.

Вообще на самом деле вопрос двоякий. Я хочу и решить чисто практический вопрос и разобраться с теорией.

Последний раз редактировалось PhilB, 12-10-2011 в 20:54.


Отправлено: 20:45, 12-10-2011 | #5


Аватара для Delirium

Ветеран


Сообщения: 5624
Благодарности: 936

Профиль | Отправить PM | Цитировать


PhilB, я могу тебе через PM дать ICQ одного из разработчиков одной геоинформационной системы Zulu(российская разработка), можешь кратенько у него спросить. А вообще аська есть на их сайте, там же и форум есть - http://www.politerm.com.ru/forums/index.php
Мне кажется, они из первых рук лучше подскажут, как надо сделать.

-------

Пройденные курсы:
[Microsoft №10174 Sharepoint], [SharePoint]
Мои проекты:[CheckAdmins], [NetSend7], [System Uptime], [Remote RAdmin LogViewer],[Netdom GDI], [Holidays - напоминалка о днях рождения]

А я офис-гуру :)

Это сообщение посчитали полезным следующие участники:

Отправлено: 01:02, 13-10-2011 | #6


Старожил


Сообщения: 198
Благодарности: 51

Профиль | Отправить PM | Цитировать


Delirium, Благодарю. Аську пока не надо. Меня тут намедни пообещали познакомить с товарищем, который "не одну собаку на этом съел".
Посему пока поспрашиваю тех, кто поближе.
И пользоваться советом lxa85. Начну с простого рисования...
Если производительности не хватит, буду пробовать OpenGL.

От дальнейших советов не откажусь

Отправлено: 18:40, 14-10-2011 | #7


Старожил


Сообщения: 198
Благодарности: 51

Профиль | Отправить PM | Цитировать


Все никак руки не доходили отписаться о результатах. Вдруг кому интересно.
В Qt обнаружился мощный полноценный графический движок Graphics View Framework, который предоставляет очень немалые возможности для работы с двухмерной графикой, его возможностей оказалось в целом достаточно. (Хотя и для хранения пространственных данных приходиться использовать свои структуры.)
Производительности вроде пока хватает, данный фреймворк использует аппаратное видеоускорение, если это возможно. (В частности нужны фирменные драйвера на видеокарту, при их отсутствии аппаратное ускорение вероятнее всего окажется недоступным). То есть производительности в целом хватает. (Хотя без драйверов притормаживает ощутимо).
Считаю тему решенной. Спасибо откликнувшимся
Это сообщение посчитали полезным следующие участники:

Отправлено: 22:14, 27-01-2012 | #8


Аватара для lxa85

Необычный


Contributor


Сообщения: 4463
Благодарности: 994

Профиль | Сайт | Отправить PM | Цитировать


PhilB, спасибо за отзыв.

-------
- Я не разрешаю тебе быть плохой! Потому что плохие люди совершают плохие поступки. А это нехорошо!
(Из наставлений 5 летней девочки своей младшей сестре)


Отправлено: 23:19, 27-01-2012 | #9



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Теория - [решено] [2D Графика] Использовать OpenGL или рисовать на форме?

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
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




 
Переход