crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

2 страниц V   1 2 >  
Ответить в данную темуНачать новую тему
> Хочу посоветоваться
Алексей1153
  опции профиля:
сообщение 15.11.2010, 8:33
Сообщение #1


фрилансер
******

Группа: Участник
Сообщений: 2941
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 215 раз(а)




Репутация:   34  


Имеется большой проект (мой), для которого вскоре (ну, как вскоре, точно не знаю, это понятие растяжимое) надо будет делать новую версию. То есть переделать капитально. Сейчас вкратце опишу, какие ресурсы и как используются, а вопрос состоит в следующем: стОит ли писать новую версию на Qt, или Qt "не потянет" по производительности (так как тупо на мощь железа полагаться не хочется) ?.

Сейчас программа написана на MFC+WinAPI , среда - студия 2008. Используется СУБД Firebird1.5 + драйвер ODBC. Активно идёт работа с ком-портом и/или FTDI-шным конвертором USB<->COM (так как сам железный ком-порт постепенно исчезает как реальное устройство с матплат). Для локалки используется обмен по TCP/IP , с удалёнными устройствами ещё и UDP.

В новой версии будет СУБД MySQL (или , может, ещё что посоветуете ?)

У кого был опыт написания подобных проектов с использованием Qt - расскажите свои впечатления
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
BRE
  опции профиля:
сообщение 15.11.2010, 9:13
Сообщение #2


Профессионал
*****

Группа: Участник
Сообщений: 1112
Регистрация: 6.3.2009
Из: Ростов-на-Дону
Пользователь №: 591

Спасибо сказали: 264 раз(а)




Репутация:   44  


Цитата(Алексей1153 @ 15.11.2010, 8:33) *
стОит ли писать новую версию на Qt, или Qt "не потянет" по производительности (так как тупо на мощь железа полагаться не хочется) ?.

Qt использует API целевой системы и никаких средств для специального замедления работы этого кода в ней нет. Поэтому, мысли о "потянет/не потянет" не имеют основания быть. :)
В замен ты получаешь кроссплатформенность и уходишь от Богом забытого MFC изначально являющимся уродцем с точки зрения ООП.

Хотя я не в коей мере не рекомендую Qt как панацею для всего, возможно для твоей задачи лучше подойдет тот-же boost. Сам проекты ты особо не описал, а просто описал средства в нем применяющиеся.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 15.11.2010, 9:31
Сообщение #3


фрилансер
******

Группа: Участник
Сообщений: 2941
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 215 раз(а)




Репутация:   34  


Цитата(BRE @ 15.11.2010, 11:13) *
от Богом забытого MFC

ну вот только холиварить по поводу MFC тут не надо, это бессмысленно. Кстати, MFC даже в 10-й студии поддерживается, и ещё как. И всё на этом.

В основном хочу на Qt делать из-за GUI , ну и кроссплатформа приветствуется, так как ещё давно были клиенты, которые спрашивали, будет ли программа работать на линуксе - пока что приходилось их обламывать

Проект - АРМ охранного предприятия. Самая ресурсожрущая функциональность - это обработка густого потока данных (приборы->эфир->пульт->[rs232, TCP/IP, UDP ]-> БД), и гораздо меньшая - отправка сообщений обратной связи (через GPRS-модем, по SMTP, через тырнет по TCP/IP и/или UDP)

Я почему такой вопрос задаю - вот Юрий, вроде бы, жаловался на то, что программа в процессе работы отъедает много ОЗУ (сам я такое не замечал, но больших проектов на Qt у меня и не было ещё). Был проект с анимацией персонажа на рабочем столе - там да, все картинки, будучи разом загруженные в память, знимали ООООочень много ОЗУ. Поэтому сделал кеш, и все остались довольны


Цитата(BRE @ 15.11.2010, 11:13) *
Qt использует API целевой системы и никаких средств для специального замедления работы этого кода в ней нет

а это радует :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kuzulis
  опции профиля:
сообщение 15.11.2010, 10:47
Сообщение #4


Активный участник
***

Группа: Участник
Сообщений: 393
Регистрация: 29.6.2009
Пользователь №: 862

Спасибо сказали: 36 раз(а)




Репутация:   7  


А готовое решение применить не позволяют финансы или как? Есть же уже готовое ПО для таких целей.. Уже отлаженное...
Или у Вас принято писать свои лисапеты на коленке? :)

Сообщение отредактировал kuzulis - 15.11.2010, 10:49
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 15.11.2010, 11:02
Сообщение #5


фрилансер
******

Группа: Участник
Сообщений: 2941
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 215 раз(а)




Репутация:   34  


kuzulis, приборы и вся система наша собственная, поэтому программы тоже свои. Но данная версия начиналась около 5 лет назад, многое поменялось и становится тесновато (в старом коде многое новое, естественно, не учитывалось), поэтому с уже накопленным опытом проще и правильнее сделать новую программу, чем бесконечно ковырять старую
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kwisp
  опции профиля:
сообщение 15.11.2010, 11:55
Сообщение #6


астарожна ынтжинэр
*****

Группа: Участник
Сообщений: 1404
Регистрация: 26.11.2008
Из: ТаганрогРодинаЧехова
Пользователь №: 435

Спасибо сказали: 113 раз(а)




Репутация:   23  


Алексей1153,
в плане производительности, Qt можно использовать только там где действительно нужно. Не увлекаясь moc к примеру. тебе надо определиться какие модули будут входить в программу?, будет ли работа с gui тяжеловесной?. и в конце концов может ты будешь использовать только gui из Qt отдавая предпочтения boost::asio для работы с сетью.

мой проект на Qt тоже не маленький. Авто-ое Рабочее Место Телефонистки. С WebKit. версия на 4ке работает занчительно шустрее чем на 3ке. заподлит один WebKit немного подЪедаяя память.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 15.11.2010, 12:04
Сообщение #7


фрилансер
******

Группа: Участник
Сообщений: 2941
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 215 раз(а)




Репутация:   34  


Цитата(kwisp @ 15.11.2010, 13:55) *
Не увлекаясь moc к примеру

это что означает ?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kwisp
  опции профиля:
сообщение 15.11.2010, 12:13
Сообщение #8


астарожна ынтжинэр
*****

Группа: Участник
Сообщений: 1404
Регистрация: 26.11.2008
Из: ТаганрогРодинаЧехова
Пользователь №: 435

Спасибо сказали: 113 раз(а)




Репутация:   23  


Алексей1153,
ну использовать сигналы и слоты и всякого рода moc-штучки типа QEnum без особого фанатизма.

П.С.
есть же примеры больших программ на Qt работающих вроде достойно работающих.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 15.11.2010, 12:30
Сообщение #9


фрилансер
******

Группа: Участник
Сообщений: 2941
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 215 раз(а)




Репутация:   34  


kwisp, а, понятно. Нее, сигналы/слоты не предполагается часто использовать. Только когда ну никак без них - собственно, когда пишу на Qt я про сигналы и слоты вспоминаю вообще в последнюю очередь (привычка от MFC :D ), только когда совсем никак, либо если вижу, что так проще подружить два виджета.

У нас основные узкие места будут: работа с портами (самое критичное) и работа с БД (особенно запись), работа по сети (уровень Qt классов - приемлимо)

Цитата(kwisp @ 15.11.2010, 14:13) *
есть же примеры больших программ на Qt работающих вроде достойно работающих

а какие это программы ? Я просто не в курсе

Сообщение отредактировал Алексей1153 - 15.11.2010, 12:29
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kwisp
  опции профиля:
сообщение 15.11.2010, 12:36
Сообщение #10


астарожна ынтжинэр
*****

Группа: Участник
Сообщений: 1404
Регистрация: 26.11.2008
Из: ТаганрогРодинаЧехова
Пользователь №: 435

Спасибо сказали: 113 раз(а)




Репутация:   23  


Цитата(Алексей1153 @ 15.11.2010, 12:30) *
а какие это программы ? Я просто не в курсе

начиная отсюда
и до обеда :)

коммерческие
и не особо
Причина редактирования: ссылки поправил
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

2 страниц V   1 2 >
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 21.12.2024, 19:13