Сколько оно жрет - не имеет значения. На машине 16 гб, из них занято обычно 50-70%.
По монитору Хром ест раза в 2 больше, но работает быстро и плавно. А ФФ вот стал задумываться. Точнее, такое было и раньше, но намного меньше.
Сергей: А почему 1170-то, почему не 1280? Ну или 1250 (1280 минус скроллбар). Или 1200, просто ради круглого красивого значения.
Что за число такое 1170, какими соображениями оно получено? Почему не 1176 например?
Dark Hole: Эм, но если его выдернуть (пусть и временно) из родителя, это вызовет перерисовку страницы, что не есть хорошо. А потом еще одну перерисовку, когда вставим обратно. Вариант с атрибутом выглядит гораздо безобиднее.
Я имею в виду, что стремно разрешать ей принимать массивы извне, потому что там может прийти что угодно. Но позволить ей использовать один массив внутри приватно, строго в одном месте и одном случае - можно, хотя и некрасиво.
Вариант с поголовной проверкой - тоже вариант, но тут надо подумать и посмотреть, не затронет ли оно что-то ещё...
И альтернативный вариант: сохранить этот единственный элемент как обычный массив - ведь циклы for по нему будут работать... Но тут нужно хорошо подумать, как гарантировать, что это будет единственному исключение из правила, и не вылезут ли где-то неявные баги.
Да, вот что-то наподобие второго метода я и сам уже подумал - присвоить элементу какой-то левый атрибут, а потом найти его по этому атрибуту в документе.
Вот сижу думаю, что делать, если этот элемент существует, но не вставлен в DOM? И нужно ли вообще учитывать такую ситуацию?
Внутри библиотеки есть функция, которая обрабатывает списки NodeList. Но теоретически юзер может передать туда и одиночный элемент. Проще всего, конечно, бросить ему исключение типа "неправильный тип входных данных, вали отсюда нахрен" - но это нехорошо.
Версия драйвера 9.18.13.4752
Композитинг Direct3D 11
Direct2D true
DirectWrite true (6.2.9200.17568)
Про about:performance не знал, интересная штука, спасибо, послежу на досуге.