Программа на разных ОС!, WinXP, Kubuntu 9.04, Linux Mint 7, Red Hat v.4 / AS, Solaris 5 |
Здравствуйте, гость ( Вход | Регистрация )
Программа на разных ОС!, WinXP, Kubuntu 9.04, Linux Mint 7, Red Hat v.4 / AS, Solaris 5 |
posi4 |
17.11.2009, 17:01
Сообщение
#1
|
Студент Группа: Участник Сообщений: 52 Регистрация: 24.4.2009 Пользователь №: 707 Спасибо сказали: 0 раз(а) Репутация: 0 |
Написал я простенькое приложение с графическим интерфейсом и решил проверить его на разных
системах. Естественно возникли вопросы. Приложение состоит из 15 кнопок, около 40 doublespinbox'ов, 10 radiobuttun'ов, 2 графика qwt_plot в каждом по четыре кривые, графики обновляются в реальном времени, примерно 5 раз в секунду приходят 8 массивов по 1000 точек. Ну вообщем по ресурсам пустяк. Писал я это на конфигурации Celeron 2.80GHz, 512 Мб, WinXP SP2, Qt 4.5.2, QtCreator 1.2. Запустил. Работает нормально, тормозов нет, но чувствуется что компьютеру сил еле еле хватает. Запустился под Celeron 2.80GHz, 512 Мб, КУбунту 9.04. правда там уже стоит Qt 4.5.3 , но я думаю версия Qt роли здесь не играет, QtCreator 1.3. Откомпилировал. Запустил. Ну, во-первых, графика съехала, всё вроде присутствует, но всё криво стало; во-вторых, появились тормоза, примерно такие, нажимаешь на кнопку, а нажимается она с задержкой секунды 1.5 - 2, так же со всеми остальными виджетами; при отрисовке графиков пропускаются кадры, поэтому всё выглядит как новогодняя мигающая гирлянда. Скомпилировал всё статически, поставил запустил программу на другом компе, Core2 Duo 1.80 Гц, 1Гб. Сначало на WinXP SP2, работает всё бастрее раза в 3-4, никаких внешних изменений, ну это и понятно. Потом загрузился под установленным там Линуксом, Linux Mint 7 (ядро Ubuntu 9.04), работает тоже быстро, но проблема с пропуском кадров осталась и добавилась еще одна. одна из функций qwt перестала перерисовывать область где выводятся графики если их маштабировать. Еще я попробывал запустить это всё на Red Hat v.4 / AS, тот мне сказал что нужна ему GLIBC 2.4 , хотя при сборке статической Qt я прописывал что бы glib была туда включена. Да и вообще как я понимаю это стандартная библиотека для unix-подобных систем и уже должна быть на компе. И напоследок вишенка на торт, попытался запустить под Solaris 5(!!!), ну тут всё просто "cannot execute" - вот и весь ответ. Вопрос то вот в чём, есть ли какие универсальные способы написания программ или приемы(трюки), чтоб потом не мучаться с переносом приложений? Что кто думает вообще на эту тему? И как мне все это заставить работать на Solaris 5? Прошу строго не судить, я медленно постигаю эту науку! =) Сообщение отредактировал posi4 - 17.11.2009, 17:03 |
|
|
Гость_Гость_* |
17.11.2009, 17:50
Сообщение
#2
|
Гости |
включить глибц это мощно... а ключик какой для этого использовался?
непонятно - под разные юникс ОС пробовалась одна сборка или каждый раз пересобиралось? виджеты разъехались? там лайауты есть надеюсь? |
|
|
Litkevich Yuriy |
17.11.2009, 17:56
Сообщение
#3
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
Моё сравнение:
Виджетов с десяток, Qwt5.2 (сделан осчилограф) данные с трёх компортов (цифруются 3 фазы 50 Гц, частота дискретизации 200 Гц) Работает на Селерон 950 Мгц Вин2к Если другие приложения не запускать то осцилаграмма рисуется и пишется в файл без прерываний Писал я это на конфигурации Celeron 2.80GHz, 512 Мб, WinXP SP2, Qt 4.5.2, QtCreator 1.2. Запустил. Работает нормально, чё-то намудрено в программе
тормозов нет, но чувствуется что компьютеру сил еле еле хватает. |
|
|
posi4 |
17.11.2009, 18:08
Сообщение
#4
|
Студент Группа: Участник Сообщений: 52 Регистрация: 24.4.2009 Пользователь №: 707 Спасибо сказали: 0 раз(а) Репутация: 0 |
включить глибц это мощно... а ключик какой для этого использовался? непонятно - под разные юникс ОС пробовалась одна сборка или каждый раз пересобиралось? виджеты разъехались? там лайауты есть надеюсь? не знаю правильно ли я делал но писал так:
использовалась одна сборка! С лайаутами все нормально, они есть. Но вот label'ы все почему то стали меньше по размерам, размеры кнопок изменились. Да, и некоторые лайауты нехотят менять свои размеры! но это я думаю баг QtCreatra или QtDisaignera. |
|
|
SABROG |
17.11.2009, 18:19
Сообщение
#5
|
Профессионал Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: 34 |
использовалась одна сборка! Имхо, чтобы правильно всё проверить надо: - на каждой ОС пересобирать Qt из исходников заново - свою программу собирать на каждой ос заново - все зависимые/сторонние библиотеки, которые используются в программе под каждой ОС собирать заново - использовать один и тот же стиль, Plastique например - убедиться, что используются одни и те же общие шрифты - убедиться, что на всех ОС стоят нормальные драйвера для видео-карты и другие приложения не тормозят также как и твое - проверить профайлером |
|
|
Litkevich Yuriy |
17.11.2009, 18:24
Сообщение
#6
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
SABROG |
17.11.2009, 18:39
Сообщение
#7
|
Профессионал Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: 34 |
|
|
|
Litkevich Yuriy |
17.11.2009, 18:44
Сообщение
#8
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
а у него сборка статическая, все зависимости Qt должны быть включены в бинарь
|
|
|
SABROG |
17.11.2009, 18:56
Сообщение
#9
|
Профессионал Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: 34 |
|
|
|
Litkevich Yuriy |
17.11.2009, 19:03
Сообщение
#10
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
где-то у трлей было описание как это делать, чтоб на разных линухах работало. А вот где, не помню.
|
|
|
Текстовая версия | Сейчас: 1.12.2024, 13:34 |