1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.

Процессор не до конца загружается

Тема в разделе "Компьютеры", создана пользователем Serg21220, 05.02.09.

  1. Serg21220

    Serg21220 Активный участник

    3.363
    2
    Имеется процессор AMD 64 X2 (2x2.1ГГц).

    Запускаю программу по кодированию/декодированию видео ConvertXtoDVD.

    При кодировании как из avi в DVD, так и из hdtv в dvd в процессе кодирования процессор загружается лишь на 55-65%. Кодирование из hdtv в dvd в наилучшем качестве (самая медленная скорость) идет на скорости ~x1,15.

    В чем дело? Почему процессор не загружается на все 100% (даже если приоритет выставить максимальный - всё те же 55-65%), ведь тогда бы и скорость кодирования увеличилась???
     
  2. Fox99

    Fox99 Активный участник

    788
    0
    Одно ядро похоже только работает. Я сильно не разбираюсь, но мож прога не поддерживает 2хядерность и поэтому не распределяет задачу на 2 ядра...
     
  3. Grandmaster Flash

    Grandmaster Flash Активный участник

    4.362
    0
    Для начала - ставили ли вы утилиту DualCore optimizer? Фирменную утилиту от АМД устраняющее косоглазие у двухядерников.
    Если да - проблема кодеков либо софта, он действительно может не держать 2 ядра.
     
  4. Filler

    Filler Активный участник

    5.718
    73
    Вот почитай Посмотреть вложение Двуядерность.txt может поможет. я сам не пробовал, у меня старый процик. Как я понял винда видит второе ядро, но без шаманства на полную его не включает.
     
  5. Grandmaster Flash

    Grandmaster Flash Активный участник

    4.362
    0
    0_о по поиску нашёл в яндексе свою же мазню:

    Сообщение: Grandmaster Flash, 26.03.2008@11:23

    Лично тебе это не нужно, интел не страдает такой вещью как асинхронность ядер в икспи. Это нужно пользователям АМД Х2, но и им не поможет Через пару дней работы патча как будто небыло. Есть специальная утилитка AMD Dual Core Optimizer, нужно только пользователям ХП СП2. ХП64, Висты, вин 2003 такой ерундой не страдают.

    Ниже - статья с сайта айс аффинити - утилиты для мультиядерников.
    Владельцам процессоров интел - не нужно! Владельцам утилиты AMD Dual-Core Optimizer - не актуально! Всё и так будет работать оке. И серь сем 2 перестанет грести и пейнкиллер будет идти не в два раза быстрей.

    Большое количество пользователей двух ядерных процессоров, таких как AMD X2, Pentium D и даже Pentium 4 с HyperThreading - жаловались на странные проблемы с играми, приводящие к их полной или частичной неработоспособности. Это происходит потому, что производители материнских плат некорректно инициализируют процессоры. Если любая программа использует tick counter у процессора, эта программа может стать неработоспособной на любом двух ядерном процессоре. Windows постоянно балансирует нагрузку, постоянно переключаясь с одного процессора на другой. Если оба процессора были инициализированы синхронно, то проблема не возникает. Но большинство материнских плат не могут инициализировать процессоры синхронно. Если процессоры инициализированы не синхронно, то переключение с одного процессора на другой будет приводить к временным броскам, как прямым, так и обратным. Время начинает течь рывками, что делает работу большинства игр не стабильной.

    Вы можете подумать, что эта ошибка проявляется только в играх. К сожалению, эта ошибка проявляется так в различных драйверах для USB HDD, flash плееров и т.д. Легко проверить, имеется эта ошибка в Вашем компьютере или нет. Просто запустите этот тест: ICEAffinityTest.exe. Если Ваш компьютер не идеален, этот тест покажет время сдвига между процессорами. Этот тест очень прост. Ниже приведен код из теста, позволяющий измерить этот временной сдвиг:

    TLargeInteger Tmp;
    QueryPerformanceFrequency(&Tmp);
    __int64 Freq = Tmp.QuadPart;

    QueryPerformanceCounter(&Tmp);
    __int64 Value = Tmp.QuadPart;
    __int64 LastValue = Tmp.QuadPart + Freq;
    __int64 Shift = 0;

    while(Value < LastValue)
    {
    QueryPerformanceCounter(&Tmp);
    if (Value - Tmp.QuadPart > Shift) Shift = Value - Tmp.QuadPart;
    Value = Tmp.QuadPart;
    }
    double TimeShift = double(Shift) / Freq; //seconds
    Для материнских плат без данного дефекта переменная TimeShift равна нулю. Если переменная TimeShift не равна нулю, то значит Вы можете требовать от производителя Вашей материнской платы исправить этот дефект.

    Пока же производители уговаривают Вас подождать, Вы можете использовать ICE Affinity для решения это проблемы в играх. Необходимо запретить для игр использовать больше одного процессора. Это можно сделать из Task Manager, но это не удобно, так как нужно это делать каждый раз вручную после запуска игры. ICE Affinity - небольшая утилита, которая решает эту проблему. ICE Affinity запускает любое приложение из командной строки и указывает какие процессоры в системе можно использовать для запуска этого приложения.

    ICEAffinity.exe <Affinity Mask> <Application Path> [Application command line parameters]

    <Affinity Mask> - это целое число, в котором каждый бит отмечает процессор, на котором разрешено запускать этот процесс.

    Пример:
    ICEAffinity.exe 1 Game.exe - Используется только первый процессор
    ICEAffinity.exe 2 "C:\Program Files\Game\Game.exe" - Используется только второй процессор
    ICEAffinity.exe 3 "C:\Program Files\Game\Game.exe" -CONNECT -LAN - Используются оба процессора

    Для использования ICE Affinity скопируйте файл ICEAffinity.exe в каталог, где расположена игра и сделайте ярлык для ICEAffinity.exe, только вместо полного пути на ICEAffinity.exe вида: "C:\Program Files\Game\ICEAffinity.exe"
    добавьте следующее:
    "C:\Program Files\Game\ICEAffinity.exe" 1 Game.exe
    где Game.exe - это исполняемый файл игры. Теперь клик на ярлык будет запускать Вашу игру.
     
  6. Serg21220

    Serg21220 Активный участник

    3.363
    2
    Я вас понял.

    Но: при просмотре загрузки - на 55-65 процентов загружены ОБА ЯДРА.

    Поставил Dual Core Optimizer - все по-старому. Грузятся оба ядра, но не на 100:%, а на 55-65% - т.е. также, как и было...
     
  7. KEKS

    KEKS Активный участник

    4.123
    46
    А почему ты решил, что они должны у тебя загружаться на все 100%. В процессе кодирования видео участвует не только процессор, но и оперативная память, винт наконец.
     
  8. Gin Bravo

    Gin Bravo Читатель

    1.397
    0
    Приложение и кодек должны поддерживать многопоточность. Тут коротко обсуждалось http://forum.ixbt.com/topic.cgi?id=8:21855. Перегоняю на AMD 64X2 dvd в avi с помощью VirtualDub- загрузка 2*70%, с помощью DrDvx - загрузка 2*100%.
     
  9. Serg21220

    Serg21220 Активный участник

    3.363
    2


    Потому что при этом самом кодировании свободной оперативки остается чуть более 2Гб. И винт работает на ура - а не тормозит так, как когда он занят на 100% (как, например, при копировании больших файлов).



    А это что? И может ли DrDvx переводить из hdtv в dvd и из avi в dvd?
     
  10. Gin Bravo

    Gin Bravo Читатель

    1.397
    0
    Нет, не может. Извиняюсь, что не уточнил - перегоняю авишку без сжатия в divx, к которую получаю другими прогами. Загрузка в 100% пошла после установки кодека Divx.pro 6.8, и в VirtualDub при это появился кодек Divx 6.8 Codec(2 Logical CPU), но, как уже говорил, Dub загрузку 2*100%, в отличии от DrDivx, не даёт :( .

    добавлено через 6 минут
    Ещё может реально не успевать винчестер подават данные. Для этого лучше исходник и конечный файл помещать на разные винты.
     
  11. nightwip

    nightwip Активный участник

    1.483
    0
    По моему вам как раз нужно радоватся, что загрузка проца не на 100%

    Даже я сказал бы, что не лучше, а обязательно (особенно при перегонки с hdtv в dvd) - это ускорит обработку...чтение и запись в этом случае могут идти параллельно, а не строго поочерёдно, как при работе на одном винчестере
     
  12. johnnazren

    johnnazren Активный участник

    4.940
    19
    у меня автогк грузит все 4 ядра на 90-95 процентов, попробуй ей
     
  13. Litron

    Litron Активный участник

    26.121
    638
    Serg21220,
    автор, а с чего ты взял, что проц должен грузится на 100% ? Просто прога не может нагрузить твой проц, юзай другую.
     
  14. Serg21220

    Serg21220 Активный участник

    3.363
    2
    Что за "автогк"??
     
  15. Grandmaster Flash

    Grandmaster Flash Активный участник

    4.362
    0
    AutoGordianKnot, настоящий самогонный аппарат для любителей кодить DVD в DivX.
     
  16. KEKS

    KEKS Активный участник

    4.123
    46
    Это точно. Особенно, если твоя цель нагрузить все процы на 100% любым способом.