Есть ли способ «взломать» Windows 10, чтобы использовать всю мощность процессора в одной задаче или процессе?

1931
Ignorante

Я работаю с такими приложениями, как Blender, и, согласно «Диспетчеру задач» и «Монитору ресурсов», окна используют менее 40% ЦП (максимум, с опцией ниже) и менее 30% памяти при рендеринге видео. Мне не было бы интересно использовать остальные ресурсы для каких-либо других вещей при рендеринге. Есть ли способ проинструктировать окна использовать всю мощь?

Я попытался изменить приоритет, он не улучшится заметно.

Я попытался изменить сродство к одному (ядру) процессору, он улучшился (удвоенная скорость рендеринга). Кто-нибудь знает какой-нибудь другой "хак"?

2
Вы пытались изменить настройки, щелкнув правой кнопкой мыши значок ПК> свойства> дополнительные параметры системы> дополнительные> дополнительные: перейти от фоновых служб к программам? Botmaster 8 лет назад 0
Это была настройка по умолчанию :) Ignorante 8 лет назад 0
Здесь неясно, используете ли вы 2 физических процессора или многоядерный процессор? Или о каком аппаратном обеспечении идет речь? Я могу показать примеры использования ядра TaskManager, которые очень запутанно отображают информацию, которая заставляет ее выглядеть неправильно через гиперпоточность (IMO, это неправильно). Фактическая скорость, которую вы получаете, хорошо, что имеет значение :-) Ответ по-прежнему хорошо это охватывает, если это был я / O в любом случае. Я просто хотел бы знать, если у вас есть более одного физического процессора. Psycogeek 8 лет назад 0
Это всего лишь один многоядерный. 4 ядра. Ignorante 8 лет назад 1
Если ограничение процесса одним ядром ускорило его работу, проблема, вероятно, заключается в ограничении ввода-вывода с вращающегося диска. David Schwartz 8 лет назад 0

2 ответа на вопрос

8
Jamie Hanrahan

No. Windows is not restricting your applications

If your rendering app is only single-threaded, then it can only use 100% of one CPU. So, for example,on a two-CPU machine it would show up as 50%. Windows can't make it use both CPUs because it's up to the app developer to break the task into multiple threads.

But some of the time it will have to wait while it reads input video and writes the output video... which would account for its only using 40%.

It is similar for RAM. Assuming your machine is not RAM-starved, Windows will let a process use as much RAM as it's referenced recently.

To make the compute-bound portion of video rendering go faster, you can buy a faster CPU, or buy a video card that your app can use for acceleration by doing some of the work in the GPU. Or get a different rendering app, one with better-implemented multithreading.

To make the I/O go faster, put the input, output, and temporary files on three different drives (not just drive letters. Different physical drives). Since the input files are normally the largest, and are also typically accessed in a random fashion if you're combining multiple inputs, put them on your fastest drive, an SSD if possible. The speed of the output drive won't matter much: The rate at which you can render video is a slow walk to any hard drive.

Это действительно полное и кристально чистое объяснение. Последний абзац - чистое золото, спасибо большое! Ignorante 8 лет назад 0
Конечно, вещь. Имейте в виду, что в приведенном выше примере с выдуманными числами, даже если вам удастся сократить время ввода-вывода до нуля, один поток, связанный с вычислениями, не может использовать более 100% одного ЦП. Таким образом, в приведенном выше примере мы не ожидаем, что загрузка процессора превысит 50%. Jamie Hanrahan 8 лет назад 0
Связанный: http://superuser.com/a/964389/348119 Jamie Hanrahan 8 лет назад 0
1
user1509130

Как сказал Джейми, однопоточное приложение может использовать до 100% одного ядра процессора, что составляет не более 25% четырехъядерного процессора или 50% двухъядерного процессора.

Вы специально упомянули Blender в качестве одной из программ, которые вы используете. Blender очень многопоточный при рендеринге 3D-сцены. На панели Render в Performance вы можете увеличить количество используемых потоков. По умолчанию он использует то же количество потоков, что и ядра вашего компьютера, что обычно является лучшим. Я только изменяю это, если мне нужно использовать мой компьютер для других целей во время рендеринга, что в действительности вызывает условие, о котором вы спрашиваете.

Если вы рендерите серию изображений в видео или создаете видео с помощью Blender, вы можете столкнуться с узкими местами ввода / вывода, поскольку накопителю приходится обращаться к каждому из файлов по мере необходимости.