Меню
+7 (495) 785-95-25
sale@lcard.ru
sale@lcard.ru
Страницы 1
Тема закрыта
|
||||
|
|
E20-10 и ECS + Core i5Помогите пожалуйста разобраться со следующей проблемой. Программа (в течение 22 мс пишет данные с внешней синхронизацией, следующие 22 мс выводит на экран), написанная на BC++ Builder 6.0 на основе примера из //E20-10//Examples//Borland C++ Builder 6.0//SynchroInput нормально работала на ПК Intel D945GTP + Pentium 4 2005 года выпуска со встроенной видеокартой. При переносе программы на ПК ECS + Pentium Core i5 четырех-ядерный 2011 года выпуска даже с видеокартой GeForce GT430 программа стала пропускать строки и выдавать сообщение "Не могу завершить сбор данных". В обоих случаях ОС Windows XP, DirectX 9.0c. Как отследить, что у ПК с четырех-ядерным процессором тормозит? Что вообще можно сделать в таком случае? |
|||
|
||||
|
|
Re: E20-10 и ECS + Core i5Потоки в программе используются? |
|||
|
||||
|
|
Re: E20-10 и ECS + Core i5Да, конечно, потоки используются. |
|||
|
||||
|
|
Re: E20-10 и ECS + Core i5Если я не ошибаюсь, на многопроцессорных системах могут жестче проявляться недочеты в синхронизации потоков (race conditions). Не может быть дело в этом? |
|||
|
||||
|
|
Re: E20-10 и ECS + Core i5Поток вывода на экран у мнея реализуется в ф-ии Synchronize(RedrawViewer);
if(!pModule->STOP_ADC()) { Mes = "ÍНе могу завершить сбор данных!"; Synchronize(ShowErrorMessageBox); }
Работа программы с пропуском строк обычно заканчивается сообщением "Не могу завершить сбор данных!" |
|||
|
||||
|
|
Re: E20-10 и ECS + Core i5Что значит <<пропуск строк>>?
Чему равен размер запроса IoReq (сколько мс он собирается при данной частоте дискретизации и размере кадра?) Вообще-то лучше сделать двойную буферизацию (посмотрите топики от пользователя с ником MOT) - например, http://www.lcard.ru/forumthreads/10628 и ссылки оттуда. Может быть, это поможет? |
|||
|
||||
|
|
Re: E20-10 и ECS + Core i51. Двойная буферизация в данном случае не нужна, т.к. работа идёт в старт-стопном режиме. Именно поэтому и размер запроса IoReq не существенен.
|
|||
|
||||
|
|
Re: E20-10 и ECS + Core i51. Виноват, не разлядел безусловный стоп.
|
|||
|
||||
|
|
Re: E20-10 и ECS + Core i5to Сергей
<<3. Чисто для проверки можно бы попробовать вообще убрать Synchronize(RedrawViewer) и посмотреть останутся ли ошибки выполнения функции STOP_ADC().>>
|
|||
|
||||
|
|
Re: E20-10 и ECS + Core i51. Попробую воспроизвести Вашу ситуацию у себя.
|
|||
|
||||
|
|
Re: E20-10 и ECS + Core i5<< 2. А какая ревизия у модуля? >>
|
|||
|
||||
|
|
Re: E20-10 и ECS + Core i5Интересно, а в какой разъём подключается модуль E20-10: USB 3.0 или USB 2.0? |
|||
|
||||
|
|
Re: E20-10 и ECS + Core i5<< Интересно, а в какой разъём подключается модуль E20-10: USB 3.0 или USB 2.0? >>
|
|||
|
||||
|
|
Re: E20-10 и ECS + Core i5<<2. Было бы интересно узнать какую именно ошибку возвращает функция STOP_ADC().>>
|
|||
Страницы 1
Тема закрыта
Адрес: 117105, Москва, Варшавское шоссе, д. 5, корп. 4
Многоканальный телефон:+7 (495) 785-95-25
Письма и запросы: lcard@lcard.ru
Отдел продаж: sale@lcard.ru
Техническая поддержка: support@lcard.ru
Время работы: с 9-00 до 19-00 мск