Форум: "WinAPI";
Текущий архив: 2005.09.18;
Скачать: [xml.tar.bz2];
ВнизЗависание Thread-ов в функциях TMemoryManager (Delphi 2005) Найти похожие ветки
← →
Ученик (2005-07-22 22:05) [0]Кто-нибудь сталкивался с этим на процессорах с HyperThreading ?
Как "лечили" ?
← →
tesseract © (2005-07-24 19:58) [1]Я с этим сталикивался на всём от Peintium 166 до Atlon XP и не только на Delphi 2005. Объясни в чём фича :-)
← →
Юрий Зотов © (2005-07-24 20:10) [2]Сталкивался в D7 под XP (точнее, были не зависания, а жуткие тормоза - минут по 5-8). Лечил отключением гипертрейдинга.
← →
Ученик (2005-07-24 20:57) [3]>tesseract © (24.07.05 19:58) [1]
Проблема именно в HyperThreading или нескольких процессорах (не проверял), при его отключении или установки одного разрешенного процессора для программы (текущий вариант) проблема уходит.
Насчет фичи не понял, вопрос был Как "лечили" ?
>Юрий Зотов © (24.07.05 20:10) [2]
Возможно и тормоза, долго не ждал, при остановке процесса и повторного запуска, зависание проходит.
Косвенный вопрос: кто виноват ? :-)
← →
jack128 © (2005-07-24 23:07) [4]Юрий Зотов © (24.07.05 20:10) [2]
Сталкивался в D7 под XP (точнее, были не зависания, а жуткие тормоза - минут по 5-8). Лечил отключением гипертрейдинга
воспроизводимый пример есть?
← →
Юрий Зотов © (2005-07-24 23:56) [5]> jack128 © (24.07.05 23:07) [4]
Исходники у Макса. Там есть мой служебный класс - имитатор TThread, но работающий в основном потоке. Был сделан именно по причине жутких тормозов, иначе отлаживаться было практически невозможно. Предполагалось, что отладка идет с ним, а рабочий вариант компилируется уже с нормальным потоком. Там это как-то очень легко переключается, в одном месте, найдешь без проблем.
> Ученик (24.07.05 20:57) [3]
Подозреваю, что это какая-то проблема взаимодействия дебаггера с XP и гипертрейдингом. А кто из них в этом виноват - дело темное.
Под ХP встречается еще одна проблема - дебаггер не видит символьных таблиц в DLL (причем после повторной загрузки этих таблиц все идет ОК).
← →
Ученик (2005-07-25 07:17) [6]>jack128 © (24.07.05 23:07) [4]
Проблема была обнаружена при открытии формы на которой есть TcxFontNameComboBox (потом в другой форме с поиском в отдельном thread) и проблема видимо "плавающая" - на компьютере более "старом" (тоже с HT), ее не было.
>Юрий Зотов © (24.07.05 23:56) [5]
Боюсь, что с отладчиком это не связано, отладчик подключался к работающему приложению, когда приложение "зависало".
← →
Ученик (2005-07-26 22:11) [7]Похоже надо было задавать вопрос в WinApi, может модераторы переместят ?
Есть подходящее продолжение.
Выше было написано, что текущий вариант решения проблемы -установка одного разрешенного процессора через SetProcessAffinityMask - устанавливается первый процессор, но хотелось бы устанавливать процессор на котором выполняется главный Thread (MainThreadID), отсюда вопрос
Как узнать номер по порядку текущего процессора ?
В Windows 2003 есть функция GetCurrentProcessorNumber, а как быть в предыдущих версиях ?
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2005.09.18;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.011 c