1

Я понимаю, что уже есть несколько повторяющихся вопросов по этой теме, но все вопросы, на которые я смотрел, были связаны с общим замедлением работы компьютера. В моем случае у меня очень трудоемкая задача, и я хочу посмотреть, что я могу сделать, чтобы ускорить ее.

Рассматриваемая задача (но я ищу общие решения, не относящиеся к этой задаче) объединяет 2 видеофайла 4K вместе, чтобы сформировать одно видео 360.

Есть два этапа: сшивание и оптимизация.

Сшивание ОЧЕНЬ интенсивно использует процессор, и недавно я использовал процессор I9 с 28 потоками, который почти удвоил скорость. Теперь при выполнении этой части процесса процессор работает на уровне около 80% (ранее он был равен 100% все время), так что это означает, что что-то еще замедляет его. Мои 32 ГБ памяти используются только на 30%, но, возможно, это скорость памяти?

Использование диска, кажется, составляет около 1 - 2%

Использование графического процессора составляет около 30%

Я сомневаюсь, что смогу еще больше ускорить это вообще (просто для справки, сейчас требуется около часа, чтобы сшить 1 час отснятого материала)

Второй этап занимает около 2 часов для 1 часа отснятого материала и в основном создает видео с более низким разрешением, что облегчает редактирование.

На этом этапе загрузка ЦП составляет всего около 30%, и больше ничего не используется (на основе монитора ресурсов). Должно быть что-то аппаратное, что замедляет его - как я могу сказать что?

Большое спасибо

Несколько замечаний по моей системе (которые не имеют никакого отношения к ответу на этот вопрос, но я привел это здесь для полноты)

  • i9 7940X
  • 32 ГБ (2x16 ГБ) 2400 МГц
  • 2 отдельных диска M.2 (один для чтения, один для записи)
  • Nvidia GTX 1080 Ti
  • ASUS ROG STRIX X299-E GAMING

1 ответ1

2

Вы все еще можете многое сделать, чтобы контролировать свое оборудование и сузить кругозор.

Вы не сказали, используете ли вы компьютер с Windows или какую версию ОС, но я предполагаю, что это машина с Windows 10 на данный момент.

Вы можете использовать инструмент под названием Performance Monitor (perfmon). Это позволит вам отслеживать ключевые показатели для вашей системы и на основе значений определять, где может быть ваше узкое место.

Посмотрите вокруг, вы также можете найти некоторые показатели для GPU и тому подобное.

На самом деле найти ваши метрики - это немного искусства, и, честно говоря, у меня нет их всех под рукой, но пока попробуйте следующее:

Память | % Подтвержденных байтов в использовании: отслеживает, какой процент вашей оперативной памяти зафиксирован в данный момент («используется»). Это должно колебаться, когда приложения открываются и закрываются, но если оно постоянно увеличивается, это может указывать на утечку памяти.

Сетевой интерфейс | Всего байт / с: отслеживает, сколько байтов отправлено и получено через определенный сетевой интерфейс (например, Wi-Fi или Ethernet). Если это когда-либо превысит 70% пропускной способности интерфейса, вам следует подумать об обновлении.

Файл подкачки | % Usage: отслеживает, сколько файлов подкачки вашей системы используется. Если это неизменно высокий уровень, вам следует рассмотреть вопрос об увеличении объема физической ОЗУ или, по крайней мере, увеличить размер файла подкачки.

Физический диск | % Disk Time: отслеживает, сколько времени жесткого диска затрачивается на обработку запросов на чтение и / или запись. Если это постоянно высокий уровень, вы должны рассмотреть вопрос о переходе на твердотельный накопитель.

Физический диск | % Disk Read Time: то же, что и выше, за исключением только запросов на чтение.

Физический диск | Время записи на диск%: то же, что и выше, за исключением только запросов на запись.

Процессор | % Времени прерывания: отслеживает, сколько времени тратится на обработку аппаратных прерываний вашего процессора. Если это постоянно выше 10-20%, это может указывать на потенциальную проблему в одном из ваших аппаратных компонентов.

Нить | % Процессорного времени: отслеживает, сколько возможностей вашего процессора используется отдельным потоком процесса (приложение может иметь несколько потоков). Полезно, только если вы можете определить, какой поток контролировать.

Некоторые из SQL, которые я использовал:

PhysicalDisk(_Total)\Avg. Диск с / Чтение PhysicalDisk(_Total)\ Ср. Disk sec / Write Эти два счетчика показывают, насколько быстро ваша подсистема ввода-вывода отвечает на запросы данных из операционной системы; другими словами, латентность. Возвращаемые значения задержки действительны независимо от типа используемой подсистемы ввода-вывода, будь то локальный физический магнитный диск, диски SAN, диски NAS или твердотельные диски. Ваши значения задержки обычно не должны превышать 20 мс; если вы используете SSD, вероятно, не более 5 мс. Если вы видите значения задержки в секунду или более, ваша подсистема ввода / вывода имеет проблемы, которые необходимо устранить, чтобы поддерживать производительность на приемлемом уровне.

Система \ Длина очереди процессора Счетчик длины очереди процессора показывает количество потоков, ожидающих времени на системном процессоре. Если это число больше 0, это означает, что на ядро больше запросов, чем может обработать система, и это может стать причиной значительных проблем с производительностью. Однажды у меня был клиент, у которого был процесс на конец месяца, который должен был быть запущен в течение рабочего дня, который занимал от 2,5 до 3 часов; когда он работал, производительность для всех остальных в этой системе была бы ужасно низкой. Я посмотрел на счетчик длины очереди процессора - обычно он достигал не более 3 или 4 в течение дня, но в конце месяца он подскочил где-то между 30 и 50. Клиент работал на виртуальной машине с 4 процессорами, и я спросил, могут ли они удвоить это. Они сделали, и конец следующего месяца закончился через 45 минут.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .