Подтвердить что ты не робот

Есть ли способ дросселировать производительность javascript для имитации медленного клиента

Я работаю над сайтом, который использует jquery и имеет достаточное количество javascript, который запускается с использованием $(document).ready(). На моей машине dev все работает отлично, но это довольно мощная машина. У меня были отчеты от людей, использующих устаревшие аппаратные средства поведения, которые кажутся странными, и я достаточно убежден, что дело доходит до времени, затраченного на обработку этого начального javascript на более медленных машинах.

Ясно, что решение состоит в том, чтобы разобраться с этим начальным javascript, но мне стало интересно - кто-нибудь знает, как замедлить скорость выполнения javascript в Chrome или FireFox, чтобы имитировать эти более медленные клиенты на моей машине dev?

Приветствия

Update:

Назад, когда этот вопрос был опубликован, не было того же набора инструментов, который существует сегодня. В то время вариант VM был лучшим вариантом, поэтому я оставляю его как принятый ответ. Однако в эти дни я бы пошел прямо на инструменты Chrome dev, как это было предложено Oded Niv

4b9b3361

Ответ 1

Это может быть не самое лучшее решение, но что-то, что может определенно работать, - запустить виртуальную машину, там вы можете указать все спецификации оборудования, если они ниже, чем у вас на самом деле. Посмотрите этот пост

Ответ 2

В Chrome developer tools -> Timeline теперь вы можете дросселировать CPU, посмотрите выпадающее меню:

Хромирование процессора Chrome

UPDATE:

Chrome (ium) изменен в новых версиях, теперь он находится на вкладке Performance, и вы должны нажать кнопку настроек в углу, чтобы эта функция отображалась:

Хром новый дросселирование процессора

Ответ 3

Я бы использовал виртуальную машину и ограничил ее ресурсами. Если вы не являетесь поклонником виртуальных машин, тогда я бы поискал старую машину во дворе, магазин сбережений и т.д. И использовал это как тестовую платформу. Вы никогда не сможете его исправить, заполнить его грязными программами, загруженными вредоносными программами, и тогда это будет похоже на опыт для "среднего пользователя".: -)

Ответ 4

Запустите Folding @Home в фоновом режиме, чтобы съесть процессор.

Если у вас многоядерный процессор, используйте диспетчер задач, чтобы ограничить IE одним ядром и, возможно, также ограничить некоторые приложения с интенсивным использованием процессора для одного ядра.

Ответ 5

Виртуализация - это ответ! Вы можете использовать VirtualBox, бесплатно. Вы можете имитировать более медленную машину с ней

Ответ 6

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

Ну, вы всегда можете попробовать установить приоритет вашего браузера на минимальное значение.

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

http://moslo.info/

http://www.reocities.com/kulhain/

http://www.sierrahelp.com/Utilities/SlowdownUtilities.html

Ответ 7

Вы также можете попытаться отключить ваш процессор с помощью настроек управления питанием в ОС. Например, для Win 8 вы можете перейти к чему-то вроде "Панель управления\Система и безопасность\Управление питанием\Изменить схему питания → Изменить расширенные параметры мощности → Управление мощностью ЦП → Максимальный уровень частоты процессора" (извините, это перевод от неанглийского интерфейса Win8, но я думаю, что нетрудно найти настройки). Это помогает в некоторой степени.

Ответ 8

Я сделал это, и через минуту мой firefox всасывал всю мою память. Вы можете сильно замедлить перегрузку, изменив значение setTimeout() на нечто большее. В значительной степени все замедлялось, переключали вкладки и другие загрузки страниц.

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>
<style type="text/css">
    body, html{
        height:100%; 
    }

</style>
<script language="javascript" type="text/javascript">

var NUM = 0;
function addMore(){
    var cur = document.getElementById('ta').value;
    var newVal = NUM.toString();
    if(cur){
        newVal = newVal+cur;
    }
    NUM++;
    document.getElementById('ta').value = newVal;
    setTimeout("addMore()",1);
}

</script>
</head>

<body onload="addMore()">

<textarea id="ta" style="width:80%; height:80%;">0</textarea>

</body>
</html>

Ответ 9

CPUThrottle (больше символов, поскольку StackOverflow хочет их)

Ответ 10

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

Ответ 11

Использование Fiddler - его свободный - позволяет имитировать скорость соединения. dialup, ADSL и т.д.

http://www.telerik.com/fiddler