Хочу посоветоваться |
Здравствуйте, гость ( Вход | Регистрация )
Хочу посоветоваться |
Алексей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 |
стОит ли писать новую версию на Qt, или Qt "не потянет" по производительности (так как тупо на мощь железа полагаться не хочется) ?. Qt использует API целевой системы и никаких средств для специального замедления работы этого кода в ней нет. Поэтому, мысли о "потянет/не потянет" не имеют основания быть. В замен ты получаешь кроссплатформенность и уходишь от Богом забытого MFC изначально являющимся уродцем с точки зрения ООП. Хотя я не в коей мере не рекомендую Qt как панацею для всего, возможно для твоей задачи лучше подойдет тот-же boost. Сам проекты ты особо не описал, а просто описал средства в нем применяющиеся. |
|
|
Алексей1153 |
15.11.2010, 9:31
Сообщение
#3
|
фрилансер Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
от Богом забытого MFC ну вот только холиварить по поводу MFC тут не надо, это бессмысленно. Кстати, MFC даже в 10-й студии поддерживается, и ещё как. И всё на этом. В основном хочу на Qt делать из-за GUI , ну и кроссплатформа приветствуется, так как ещё давно были клиенты, которые спрашивали, будет ли программа работать на линуксе - пока что приходилось их обламывать Проект - АРМ охранного предприятия. Самая ресурсожрущая функциональность - это обработка густого потока данных (приборы->эфир->пульт->[rs232, TCP/IP, UDP ]-> БД), и гораздо меньшая - отправка сообщений обратной связи (через GPRS-модем, по SMTP, через тырнет по TCP/IP и/или UDP) Я почему такой вопрос задаю - вот Юрий, вроде бы, жаловался на то, что программа в процессе работы отъедает много ОЗУ (сам я такое не замечал, но больших проектов на Qt у меня и не было ещё). Был проект с анимацией персонажа на рабочем столе - там да, все картинки, будучи разом загруженные в память, знимали ООООочень много ОЗУ. Поэтому сделал кеш, и все остались довольны 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, 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 ), только когда совсем никак, либо если вижу, что так проще подружить два виджета.
У нас основные узкие места будут: работа с портами (самое критичное) и работа с БД (особенно запись), работа по сети (уровень Qt классов - приемлимо) есть же примеры больших программ на Qt работающих вроде достойно работающих а какие это программы ? Я просто не в курсе Сообщение отредактировал Алексей1153 - 15.11.2010, 12:29 |
|
|
kwisp |
15.11.2010, 12:36
Сообщение
#10
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
а какие это программы ? Я просто не в курсе начиная отсюда и до обеда коммерческие и не особо
Причина редактирования: ссылки поправил
|
|
|
Текстовая версия | Сейчас: 30.12.2024, 20:23 |