Измерьте потребление электроэнергии браузером для отображения веб-страницы
Есть ли способ рассчитать потребление электроэнергии для загрузки и отображения веб-страницы (веб-интерфейс)? Я думал о "тесте", сделанном с фантомами, например:
- загрузить веб-страницу
- прокрутите вниз
И измерить, сколько электричества было нужно. Я могу, возможно, экстраполировать из цикла процессора. Но Phantomjs без головы, рендеринг в реальном браузере, безусловно, отличается. Возможно, невозможно провести реальные измерения... но с помощью индекса можно сравнить веб-сайты.
У вас есть другие предложения?
1 ответ
Практически невозможно измерить это внутренне в современных процессорах (что-нибудь более новое, чем 286). Под внутренним я подразумеваю подсчет циклов. Это связано с тем, что разные части процессора потребляют разные уровни энергии за цикл в зависимости от инструкции.
Тем не менее, вы можете сделать свои измерения. Вставьте измеритель мощности между стеной и процессором. Вот процедура:
- Измерьте базовое энергопотребление, т.е. ничего не работает, кроме ОС и браузера, и браузер полностью статичен (т.е. ничего не делает). Вы должны убедиться, что все находится в установившемся состоянии (SS), то есть начать измерения только после нескольких минут простоя.
- Измерьте использование, выполняя нужную вам операцию. Опять же, вы хотите избежать любого запуска и остановки работы, поэтому убедитесь, что вы начинаете измерения по крайней мере через 15 секунд после начала операции. Остановка не является проблемой, так как браузер выполнит любой код завершения после того, как вы закончите измерение.
Звучит просто, правда? К сожалению, из-за характера ваших измерений, есть некоторые ошибки.
Вы помните свои классы физики (или классы EE), которые говорили о соотношении сигнал / шум? Ну, прокрутка вниз потребляет очень мало энергии, поэтому сигнал (прокрутка) находится в шуме (нормальные фоновые процессы). Это означает, что вам нужно взять МНОГО образцов, чтобы получить что-нибудь полезное.
Потребление энергии при запуске вашего браузера или что-либо еще, использующее приличный объем обработки, гораздо проще измерить (лучшее соотношение сигнал / шум).
Также убедитесь, что вы понимаете основную электронику. Например, мощность - это ВА (напряжение * сила тока), где и В, и А находятся в фазе. Я не думаю, что это будет проблемой, так как я уверен, что они находятся в стадии разработки для компьютеров. Также любой приличный измеритель мощности понимает разницу.
Я предполагаю, что вы собираетесь сделать это для мобильных устройств. Ваши измерения будут примерно одинаковыми от процессора к процессору. Это связано с архитектурными различиями от поколения к поколению и от производителя к производителю.
Удачи.