Есть ли ограничение на количество объектов JavaScript, которые вы можете иметь на ходу? - PullRequest
1 голос
/ 13 февраля 2009

Я пытаюсь преобразовать Flash-приложение, которое у меня есть, в JavaScript, но мне сказали, что это, вероятно, было бы невозможно из-за количества объектов, которые я должен иметь в пути.

Это правда, и если да, то каковы пределы?

Ответы [ 3 ]

3 голосов
/ 13 февраля 2009

Flash очень эффективен при перемещении объектов, поскольку это его основная функция. Использование JavaScript для перемещения объектов в HTML будет работать намного медленнее. Тем не менее, с помощью JavaScript можно добиться удивительных результатов.

См. Лемминги .

3 голосов
/ 13 февраля 2009

Ограничение памяти JavaScript показывает, что вы можете выделить как минимум 20 МБ памяти в Firefox.

Хотя определенно есть предел, но я сомневаюсь, что вы встретите предел памяти. Скорее всего, ваша производительность будет слишком плохой, если вы конвертируете очень динамическое приложение Flash.

1 голос
/ 13 февраля 2009

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

function allocate_mem() {
    var mega=[];
    // Strings are stored as UTF-16 = 2 bytes per character.
    // Below a 1Mibi byte string is created
    for(var i=0; i<65536; i++){
        mega.push('12345678')
    }
    mega=mega.join("");

    var x=document.getElementById("max_mem");

    var size=0;
    var large=[];
    function allocate( ) {
        ++size;
        //if (size>400) {alert(large.join("").length/1048576); return; }
        large.push("."+mega.slice(0));
            x.innerHTML = "max memory = " + size + " MB";
        setTimeout(allocate, size %10 ? 0: 200);
    }

    allocate();

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...