|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
28.05.2013, 13:53 | #1 |
Lawful Evil
Участник клуба
Регистрация: 13.05.2008
Сообщений: 1,208
|
Как влияет на ПО Embarcadero XE в фоне?
Возник интересный и весьма меня нервирующий аспект.
Есть программа, написанная на С++, которая работает с СОМ-портом, частота прихода сообщений - 5 Гц., с такой же частотой и читается. Информация читается побайтово. При запуске через Embarcadero все нормально. Если же запускать полученный .ехе, то сообщения начинают читаться с частотой примерно 1 Гц., т.е. в 5 раз медленнее. При этом если просто запустить Embarcadero (даже не открывая никаких проектов) написанная программа сразу переходит в нормальный режим работы, а при выключении - 1 Гц. Вопрос: что такого делает Embarcadero при запуске? Может это связанно с какой-то настройкой проекта?
Алгоритм - бесплатен. Поиск багов - бесплатен. Реализация алгоритма - за отдельную плату.
На форуме помогают советами и объясняют, а не пишут на халяву программы, лабы, курсачи и т.д. (c) |
28.05.2013, 14:37 | #2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
А как ты определил частоту?
I'm learning to live...
|
28.05.2013, 15:02 | #3 |
Lawful Evil
Участник клуба
Регистрация: 13.05.2008
Сообщений: 1,208
|
"На глаз"
Погрешность в +/- 2 Гц не существенна, ибо программа без Embarcadero в фоне работает явно медленнее.
Алгоритм - бесплатен. Поиск багов - бесплатен. Реализация алгоритма - за отдельную плату.
На форуме помогают советами и объясняют, а не пишут на халяву программы, лабы, курсачи и т.д. (c) |
28.05.2013, 15:48 | #4 |
Форумчанин
Регистрация: 29.01.2013
Сообщений: 319
|
Если проект написан с динамической линковкой, то, может, ускоряется процесс обращения к каким-то внешним функциям за счёт уже подгруженных средой библиотек... Хотя, по идее, запуск под отладчиком должен замедлять работу.
|
28.05.2013, 16:17 | #5 |
Lawful Evil
Участник клуба
Регистрация: 13.05.2008
Сообщений: 1,208
|
Статическая линковка.
Проблема в том, что возникает такая ситуация: 1) Запускаю ПО, оно тормозит 2) Запускаю Embarcadero (только запускаю, не открываю проектов, вообще ничего не делаю), ПО резко выправляется и работает правильно 3) Закрываю Embarcadero, тормоза моментально возвращаются
Алгоритм - бесплатен. Поиск багов - бесплатен. Реализация алгоритма - за отдельную плату.
На форуме помогают советами и объясняют, а не пишут на халяву программы, лабы, курсачи и т.д. (c) |
28.05.2013, 16:30 | #6 |
Форумчанин
Регистрация: 29.01.2013
Сообщений: 319
|
Может, это наоборот, не тормоза, а более быстрая работа? Например, успевает сработать какой-нибудь Event на ожидание, что при более медленной работе не происходит?
|
28.05.2013, 16:48 | #7 |
Lawful Evil
Участник клуба
Регистрация: 13.05.2008
Сообщений: 1,208
|
Event есть только один, ожидающий прихода сообщений в com-порт. Взводится он должен в любом случае, время ожидания взвода - infinite.
Сомневаюсь, что он может подвисать аж на секунду, т.к. данные идут практически непрерывно. Да и не захватывает Embarcadero программу никоим образом. Странно это все.
Алгоритм - бесплатен. Поиск багов - бесплатен. Реализация алгоритма - за отдельную плату.
На форуме помогают советами и объясняют, а не пишут на халяву программы, лабы, курсачи и т.д. (c) |
28.05.2013, 17:05 | #8 |
Форумчанин
Регистрация: 29.01.2013
Сообщений: 319
|
Современные компьютеры способны сделать чёрта лысого между двумя "практически непрерывными" моментами :-) Event борландский или виндовый? Можно было бы этот участок кода выложить, чтоб было предметно. Или наставить отладочного вывода, что именно и когда происходит, а потом анализировать. Наверняка будет разница. Я только предполагаю, что программа может зайти в Event и сразу выйти [случай с загруженной средой], а может не увидеть данных и задержаться до следующей проверки [без E]. Т.е., я думаю, что наличие среды в памяти "замедляет" работу за счёт каких-нибудь манипуляций системы с подкачкой, потоками и т.д., которые отжирают время у программы, что позволяет ей всегда получать данные "вовремя", компенсируя задержку их появления.
|
28.05.2013, 17:05 | #9 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
I'm learning to live...
|
|
28.05.2013, 17:11 | #10 | |
Lawful Evil
Участник клуба
Регистрация: 13.05.2008
Сообщений: 1,208
|
Event виндовый.
Код:
Debug, Release - эффект одинаков. Цитата:
Алгоритм - бесплатен. Поиск багов - бесплатен. Реализация алгоритма - за отдельную плату.
На форуме помогают советами и объясняют, а не пишут на халяву программы, лабы, курсачи и т.д. (c) |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как влияет музыка на человека | Ёжик в тумане | Свободное общение | 26 | 01.11.2012 15:03 |
Как изменить ширину картинки на фоне? | Try | HTML и CSS | 0 | 16.09.2009 22:57 |
Картинка на фоне MDI формы... Как? | masterdela | Общие вопросы Delphi | 4 | 13.01.2009 14:41 |