Итак поехали — при работе системы просмотра видео оператор стал жаловаться на торможение экрана. Произошло это после добавления еще одной камеры. Всего 26 потоков видео с разрешением от 1280 до 1980, почти все имеют 12fps, одна 24fps, плюс ресайз картинки под выделенный ей квадратик чтобы красиво выглядело. Загрузка составляет 100%, виден пропуск кадров, работать невозможно. На сети и сервере точно тормозов нет.
Рабочая машина:
- процессор Core i7 – 4790 (3.6Ггц)
- видео ускоритель intel HD graphics 4600
- материнская плата Asus H97M-Plus
Для проверки использовался тест x264 bench (когда будете ставить укажите каталог program files, НЕ program filex(x86), иначе скрипт не найдет путь до AviSynth) и усредненный показатель при работе самого приложения luxriot для некоторых интересных режимов применялся PCMark8
Оперативки на тест
№ п\п | Наименование | Объем, Гб |
---|---|---|
1 | AData DDR3 1333(9) 4GX8U AD3U1333W4G9-B | 4 |
2 | Kingston KVR13N9S8/4-SP | 4 |
3 | MCPoint 4/1600 | 4 |
4 | PQI DDR3-1333U MFACR423PA0103 2Gb | 2 |
5 | kingston hyper-x HX321C11T3K2/8 | 8 |
6 | kingston hyper-x HX321C11T3K2/16 | 16 |
Слоты нумеруются буквами латинского алфавита от процессора. Сначала проверяем каждую планку отдельно. Вся таблица не приводится т.к. в разных слотах похожий результат.
№ | тест | Слоты | CPU aver load при работе luxriot | x264 bench, fps | PCMark8, scores |
---|---|---|---|---|---|
1 | Одна планка PQI | slot A | 100% | 55 | 3051 |
2 | Одна планка Kingston | slot A | 100% | 53 | |
3 | Одна планка MCP | slot A | 98% | 56 | |
4 | Одна планка ADATA | slot A | 100% | 53 |
Теперь пробуем переставлять пары планок по слотам. Большая часть таблицы выкинута т.к. схожий результат. Разница от перестановки модулей памяти между слотами (из слота А в С, из С в А) дает не больше 3% разницы.
№ | тест | Слоты | CPU aver load при работе luxriot | x264 bench, fps | PCMark8, scores |
---|---|---|---|---|---|
5 | ADATA и MCP настройки дефолтные | ADATA slot A, MCP slot B | 99% | 53 | |
6 | ADATA и MCP настройки дефолтные | ADATA slot A, MCP slot C | 60% | 59 | двухканальный режим, виден скачек |
Теперь попробуем забить все планки и попереключать режимы работы. Меньше лучше
№ | тест | Слоты | CPU aver load при работе luxriot | x264 bench, fps | PCMark8, scores |
---|---|---|---|---|---|
7 | 4 Hyper-X | 42% | 60.5 | ||
8 | 4 Hyper-X, xmp profile 1, (тайминги 12-12-12-20) | 37% | 65 | 3451 | |
9 | 4 Hyper-X, xmp profile 2, (тайминги 9-9-9-12) | 30% | 67 | 3455 | |
10 | Kingston, AData, PQI, MCP | Kigston – slot A, AData – slot B, PQI – slot C, MCP – slot D | 41% | 67 | |
11 | 2 Hyper-X, xmp profile 2, (тайминги 9-9-9-12) | 50% | 61 |
Как видно процессор работает в «щадящем» режиме и способен переварить еще столько же камер. Причем можно понаставить просто обычных оперативок, или пару hyperx
Данное исследование можно применить для серверов других вендоров. Luxriot ведет кодирование на стороне клиента, другие на сервере, поэтому эти цифры должны подойти для серверов других производителей.
Итого:
- количество оперативок играет главную роль
- xmp влияет на производительность
- процессоры i7 и i5 нужно комплектовать парой оперативок в двухканальном режиме, или 4мя, но не одной планкой
- 2 разные оперативки в двухканальном режиме работают лучше чем одна быстрая
P/S/ провел дополнительную проверку с видео карточкой. Результаты практически не изменились! Тоесть зависимость именно от оперативной памяти. Хотя может быть что на мощной видео карте ситуация и была бы другой. Получается что выгодней купить хорошую материнскую плату с хорошим процессором и памятью, а потом докупить видео карту если не будет хватать, чем купить память хуже но со средненькой видюшкой.
Комментарии (20)
goletsa
31.10.2016 13:12+3Так у вас по описанию еще процессорное видео, а не дискретная видеокарта.
Она тоже пользуется общей памятью.
Вот для чистоты эксперимента повторить бы с дискретной карточкой.pak-nikolai
31.10.2016 15:56вы не поверите, но наличие или отсуствие видео карты не оказало никакого влияния!!!
пока пробовал только с одной видео карточкой — GT740 128bit показатели зависили только от оперативной памяти
u010602
31.10.2016 15:54В принципе все ожидаемо кроме того факта, что контроллер памяти на 2 канала получает буст почти в 2 раза от 4ех планок. Есть у кого идеи почему это происходит?
VanyaKokorev
31.10.2016 16:14x264 HD Benchmark показывает разницу в 10% в вариантах с 2 и 4 планками. pak-nikolai, какова методика расчёта средней нагрузки CPU? CPU Time по Task Manager делить на время с момента запуска luxriot?
pak-nikolai
01.11.2016 06:15по таймеру получалась загрузка процессора и потом считалась среднее. на самом деле минимальный и максимальный был еще больше.
люксриот он не лабораторно чистый, потому что надо подать одинаковый видео поток для чистоплюйства, а так картинка и соотвественно нагрузка менялась в течении суток пока шел тест.
Тут разбег такой большой что даже без лабораторных условий заметна разницаVanyaKokorev
01.11.2016 11:49По какому таймеру? Cpu Time (процессорное время) в Windows умеет показывать Task Manager, а таймер умеет считать только обычное время. Средняя нагрузка на 1 ядро процессор равна cpu_time/time*100%
pak-nikolai
01.11.2016 12:20примерно вот так:
Get-WmiObject win32_processor | Measure-Object -Property LoadPercentage -Average | select Average
суммируется нагрузка от всех ядер и считается среднее, это показание сохраняешь в переменную и засыпаешь на 1 сек, потом снова снимаешь показание и засыпаешь, через определенное количество времени вычисляешь среднее, минимальное и максимальноеVanyaKokorev
01.11.2016 12:27Это изобретение велосипеда, Task Manager умеет считать намного правильнее. Можно написать программу, которая будет полсекунды использовать 100% cpu, полсекунды 0%, и по вашей методике результат получится либо 0%, либо 100%, хотя правильный ответ 50%
pak-nikolai
01.11.2016 12:51не понял о чем вы, конкретно опишите? в таск менагере смотреть cpu time? а как среднее вычислять?
в данном случае это приложение отображения потокового видео, в нем неизбежны всплески из за движений в кадре, по идее средняя у него должна быть одинаковойVanyaKokorev
01.11.2016 12:59+1Вот я и говорю, что если ваши ежесекундные измерения могут совпасть с всплеском, могут не совпасть, и итоговый результат не особенно о чём-то говорит. Cpu time нужно делить на время выполнения процесса, посмотреть можно в powershell командой New-TimeSpan -Start (get-process luxriot).StartTime
novice2001
31.10.2016 15:54Для того, чтобы сделать хоть какой-нибудь ценности выводы, нужно, как минимум, использовать модули равного объема и частоты. А сейчас «выводы» из статьи на уровне «лучше быть здоровым и богатым. чем бедным и больным», что и так известно априори.
kumbr_87
31.10.2016 16:31Попахивает рекламой Kingston HyperX за километр. Наверное спрос хреновый потому что нафиг никому эта HyperX не нужна.
pak-nikolai
31.10.2016 18:44да не, просто ничего не было под рукой с xmp вот и все ))). я за то чтобы ктонибудь эти выводы перепроверил
LoadRunner
А если не через xmp гнать память? Или таких тестов не делалось?
pak-nikolai
что вы имеете в виду? без xmp?
Без xmp тест выдал 42% на приложении и 60.5 фпс в синтетике.
что интересно, с шустрой памятью процессор вроде даже фпс быстрее считает процентов на 20, а приложение работает в 2-3 раза быстрее
LoadRunner
Я имею в виду, какие результаты будут, если вручную указывать\подбирать тайминги.