1) насколько больше памяти занимает DOM (за пределами экрана) чем данные в модели
Это очень специфично. Здесь не столько вопрос о памяти, сколько нагрузка на layout engine (если не используется абсолютное позиционирование).
2) как браузер оптимизирует элементы за пределами экрана;
Зависит от браузера. Рендеринг их не происходит всегда, но лайаут пересчитывается в большинстве случаев. О webkit (chrome, safari) могу сказать, что оптимизация там отличная. Лайаут пересчитывается инкрементально. Сотни элементов почти не напрягают.
2) делая выгрузку уже загруженных элементов стоит их просто удалять или вставлять вместо них пустой блок высотой с эти элементы, чтобы сохранить позицию ползунка прокрутки, как это отразится на производительности?
Это будет накладнее. Удалить у блока детей, при установленной высоте блока - поможет браузеру. А с абсолютным позиционированием - вообще песня. Если есть возможность рассчитывать высоту блоков - то это лучший подход.
Вообще зачем гадать - есть ChromeDev tools timeline + profiles, в мозиле есть фаербаг итп.. Это и даст обьективный ответ.
Никак. Вы нарушаете этим условия пользовательского соглашения.
В качестве альтернатив:
1. OSRM (Openstreetmap routing )
2) вы можете воспользоватся The Google Directions API.
(function() {
var badFunc = function() {
console.log( 'Im bad');
setTimeout( badFunc, 10 );
}
badFunc();
})()
console.log1 = console.log;
console.log = function() {
throw 'Death';
}
P. S.: Вообще хотелось бы выслушать все предложения по поводу написания мобильных текстовых игр ;)