The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

В Firefox 41 будет существенно сокращено потребление памяти,..., opennews (??), 02-Июл-15, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


84. "В Firefox 41 будет существенно сокращено потребление памяти ..."  –1 +/
Сообщение от Mihail Zenkov (ok), 03-Июл-15, 02:12 
Возьмем заглавную страницу opennet.ru - 37KB. При ее открытии palemoon (ручная сборка - максимально урезан, новый профиль без плагинов, js отключен) отъедает 10-12MB.
На что уходят эти мегабайты?

Попробовал открыть в netsurf - выглядит также (чуть другой размер шрифта). Съедает 4MB - все равно много.

geany при открытии 40 файлов (размер некоторых файлы доходят до 300KB) съедает 8MB. Понимаю, что сравнение теплого с мягким, но неужели выполнить разбор и подсветку синтаксиса в таком количестве и объеме файлов проще, чем в html на 37KB?

Ответить | Правка | Наверх | Cообщить модератору

98. "В Firefox 41 будет существенно сокращено потребление памяти ..."  +/
Сообщение от Аноним (-), 03-Июл-15, 12:57 
> На что уходят эти мегабайты?

Ну так сдампи процесс и посмотри :)

> и подсветку синтаксиса в таком количестве и объеме файлов проще, чем в html на 37KB?

Подсветка синтаксиса - да, попроще рендеринга, пожалуй.

Ответить | Правка | Наверх | Cообщить модератору

102. "В Firefox 41 будет существенно сокращено потребление памяти ..."  +/
Сообщение от Mihail Zenkov (ok), 03-Июл-15, 14:26 
> Подсветка синтаксиса - да, попроще рендеринга, пожалуй.

Но ее ведь тоже рендерить нужно. Грубо говоря - в обоих случаях мы рендерим цветной текст. В случае браузера добавляются еще картинки, но позиция и размер картинки занимает четыре int. Сами картинки в распакованном виде занимают меньше 100КБ (для opennet.ru).

Ответить | Правка | Наверх | Cообщить модератору

108. "В Firefox 41 будет существенно сокращено потребление памяти ..."  +/
Сообщение от Crazy Alex (ok), 03-Июл-15, 22:35 
Если коротк - потому что браузер показывает не просто "цветной текст", даже если выглядит именно так.

1) В случае браузера сама модель, в которой представляется содержимое, гораздо сложнее. От рамочек до логики обтекания - на всё это нужны структуры, даже если мы выводим "просто текст".
2) Браузер, рассчитанный на отображение сложного форматирования, , всё это дело максимально кэширует, причём на куче уровней - вплоть до битмапов с кусками страницы. Потому что типовой сайт каждый раз при прокрутке рендерить - слишком медленно.
3) JS (а он на Opennet есть) может обратиться к громадной куче свойств объектов в DOM. теоретически, конечно, можно эти свойста на лету создавать, но на практике, полагаю, как минимум часть создаётся всегда.
4) JS-движок - отдельная песня. С JIT, его статистикой и интерфейсами к DOM (там куча прокси-объектов со счётчиками ссылок, например) памяти может уйти довольно много. В Netsurf JS-движок очень прост и по умолчанию вообще отключён.

Ответить | Правка | Наверх | Cообщить модератору

109. "В Firefox 41 будет существенно сокращено потребление памяти ..."  +/
Сообщение от Mihail Zenkov (ok), 03-Июл-15, 23:16 
> 1) В случае браузера сама модель, в которой представляется содержимое, гораздо сложнее.
> От рамочек до логики обтекания - на всё это нужны структуры,
> даже если мы выводим "просто текст".

Согласен. Но насколько сложнее? Какие параметры должны входить в подобные структуры? Какой будет примерный размер для среднего элемента, например ссылки?

> 2) Браузер, рассчитанный на отображение сложного форматирования, , всё это дело максимально
> кэширует, причём на куче уровней - вплоть до битмапов с кусками
> страницы. Потому что типовой сайт каждый раз при прокрутке рендерить -
> слишком медленно.

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

> 3) JS (а он на Opennet есть) может обратиться к громадной куче
> свойств объектов в DOM. теоретически, конечно, можно эти свойста на лету
> создавать, но на практике, полагаю, как минимум часть создаётся всегда.
> 4) JS-движок - отдельная песня. С JIT, его статистикой и интерфейсами к
> DOM (там куча прокси-объектов со счётчиками ссылок, например) памяти может уйти
> довольно много. В Netsurf JS-движок очень прост и по умолчанию вообще
> отключён.

Я специально отметил, что вовремя эксперимента js был отключен. Просто посмотрите код страницы opennet.ru - зачем для ее отображения мегабайты? ИМХО ее можно вообще интерпретировать на ходу и сразу отправлять в frame buffer.

Ответить | Правка | Наверх | Cообщить модератору

141. "В Firefox 41 будет существенно сокращено потребление памяти ..."  +/
Сообщение от Аноним (-), 07-Июл-15, 08:58 
>> 1) В случае браузера сама модель, в которой представляется содержимое, гораздо сложнее.
>> От рамочек до логики обтекания - на всё это нужны структуры,
>> даже если мы выводим "просто текст".
> Согласен. Но насколько сложнее? Какие параметры должны входить в подобные структуры? Какой
> будет примерный размер для среднего элемента, например ссылки?

Есть простой способ найти ответы - попробовать написать свой браузер.
Но я понимаю, местные аналитики не ищут лёгких путей...

Ответить | Правка | Наверх | Cообщить модератору

143. "В Firefox 41 будет существенно сокращено потребление памяти ..."  +/
Сообщение от Mihail Zenkov (ok), 07-Июл-15, 12:29 
> Есть простой способ найти ответы - попробовать написать свой браузер.
> Но я понимаю, местные аналитики не ищут лёгких путей...

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

Ответить | Правка | Наверх | Cообщить модератору

148. "В Firefox 41 будет существенно сокращено потребление памяти ..."  +/
Сообщение от Аноним (-), 07-Июл-15, 21:46 
> Каюсь был не прав, теперь если возникнут вопросы почему LO или android потребляет память, не буду заглядывать в проекты и спрашивать остальных, а героически кинусь писать их с нуля.

Устами младенца, как говорится... Всё правильно, более компетентные люди просто ценят своё время, и не будут тут бисер метать. Я - это исключение.

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

А то вы так говорите, как будто написание LO это rocket science... Ничего сложного нет, просто нужны некоторые затраты времени и усилий, даже если не допишете. При этом, получаемый опыт бесценен. Так люди и учатся.

Ответить | Правка | Наверх | Cообщить модератору

152. "В Firefox 41 будет существенно сокращено потребление памяти ..."  +/
Сообщение от Mihail Zenkov (ok), 08-Июл-15, 12:29 
> Устами младенца, как говорится... Всё правильно, более компетентные люди просто ценят своё
> время, и не будут тут бисер метать. Я - это исключение.

Не хочу вас обидеть, но судя по вашим ответам, вы слишком переоцениваете вашу компетентность.

> А то вы так говорите, как будто написание LO это rocket science...
> Ничего сложного нет, просто нужны некоторые затраты времени и усилий, даже
> если не допишете.

Слишком смелое утверждение. Покажите ваш проект подобного уровня или хотя бы уровня abiword/geany.

> При этом, получаемый опыт бесценен. Так люди и
> учатся.

Я так "учусь" уже очень много лет в одном коммерческом проекте - изначально тоже думал, что не rocket science и за погода-год будет минимальная первая версия. А реально ушло около пяти и развивать дальше это было невозможно - множество проблем с архитектурой. Пришлось выкинуть и начать заново, потом еще раз (из-за) смены ЯП. Теперь опыта вроде-бы хватает, но все разумные сроки давно вышли, энтузиазма нет никакого и проект тянется так как просто жалко кинуть то, на что ушла лучшая часть жизни ...

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

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру