Обновить
50
0

Погромист

Отправить сообщение
Что смешно, канвас в плане ресурсов нааамного дороже текстовых спанов :-)
Зачем тогда себя ограничивать, сразу генерим вырвиглазную картинку в прогрессивном жыпеге с максимальной компрессией, размером с почтовую марку и в разрешении 320 на 200. С растровым шрифтом 8 на 16 пикселей.

Пользователь оценит ретро-стиль, а если кусок кода ему понравится — перепечатает с картинки в блокнот. © вредные советы :-)
Все видели комбик со списком шрифтов, многие там пытались набирать названия — и оно действительно подсказывает и авто-дополняет. Но никто об этом не помнит :-)
(смотрит на минус у комментария) по ходу я кого-то сдал как стеклотару, рассказав про парад троллей :-)
Скрытый текст

На самом деле, каждый может что-то не знать. Это нормально. Не вижу в этом трагедии или повода для грусти. Пока мы готовы учиться и расти над собой — все прекрасно.

Юмор, сатира, троллинг (в меру) — это тоже прекрасно. Я бывает что подрабатываю адвокатом дьявола, увы — небезгрешен… тут главное — вовремя остановиться :-)
Так это вам проф-пакеты не попадались, там как раз и угадывания и поиск по меню и подстановки — в наличии :-)
Безусловно, это смешно.

Фактически, многие в комментах действуют так — берем пивасик, садимся на диван, врубаем телек — и начинается любимая забава «кто виноват, что делать, и как нам реорганизовать рабкрин» (С).

Уж не знаю с чем связано, непохоже, что «место проклятое». Парад троллинга, не иначе…

Вот в деле памяти — показываю, как 32 гигабайта волшебно помещаются в 10, и вместо двух планок по 32 (ибо чуть-чуть в 2 по 16 не влезает) — в лабазе берем только две по 8. Прямая экономия в кармане каждого в стольник баков только на комплектуху, погромисты в разы быстрее лепят нетленку, чистый win-win.

И что?

Погромисты плохие, надо было как в начале компьютерной эры — устраивать битвы программ за биты ферритовых колец :-) Причем этот прямой намек — то ли не помнят…

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

Умные люди написали килотонну научных работ, все это отработали-отладили, на столе каждого — результат полувека работы computer science.

На стандартном (несколько)терабайтном диске найти x2 к оперативе, чтобы не приходил мой любимый OOM-killer — нее, вы что! Как переключить коробку передач в «драйв», только хардкор — коняку впрячь и потом жаловаться, что карета ужас ужасный, плохо тянет :-)

И этот трэш нам рассказывают — наши коллеги

Вот реально, смешнее было только в фидо (привет «голому деду», кто помнит) :-)
в кубернетесах своп отключают

Так кубы-докеры пользуются хостом, им-то зачем своп кэшировать :-)

оомкиллер тащат из ядра в юзерспейс, а то больно лютый

Он не лютый, он ограниченный… а вытащить его в юзерспейс — и можно и статистику набирать и профили использования. В ядро такое тащить — это несколько сложновато…
обратная сторона этого вопроса в том, что в том же линуксе — ядро будет типа выделять память процессу столько, сколько он запросит

И это прекрасно, у нас есть общий механизм на всех. А не каждая программа — воюет с соседями за ресурсы (ферритовые войны, ау!)

потом хоба и-и-и-и-и-и-и… ООМКиллер.

Нашего теплого лампового киллера сильно демонизируют :-) обеспечьте своп x2 к оперативке, и он к вам не придет практически никогда…
винда кэширует «часто используемые» файлы

Эта штука называется UVMM. Память — вся (кроме стеков, но это детали реализации) — это кэши аж двух видов.

Первая сущность — это page cache. Эта штука в принципе неотключаемая никак и никогда и есть всегда, даже если особо хитрый юзер «отключил своп ваще». Отключить он может только backing store для анонимных страниц, и то это весьма странное действие. Называется это page i/o.

А вторая сущность — это file cache. Или дисковые буферы, это одно и то же. Это вот и есть кэширование доступа к файлам через file i/o.

Есть конечно и кэш трансляции как у трансметы, есть буфера DMA, есть реально память, которая никак не отображается на кэши (non-paged) — но все эти чудеса доступны только драйверам.

На прикладном уровне — оперативной памяти не существует. Есть только виртуальная, и она ограничена только возможностями ее адресации, но не ограничена микросхемами.

Задачей же ядра — является поддержка обоих кэшей в состоянии «оно боле-мене работает», так сказать — попытка найти динамический баланс между дисковым буфером и кэшем страниц.

Этой концепции уже очень много лет, и последняя система где это не выполнялось — была MS DOS.

Поясним на примере

$ ps -ef -o vsz | awk 'BEGIN{a=0;}{ a=a+$1;}END{print a;}'
32630252
$ free
      total     used   free  shared  buff/cache  available
Mem:16204412 10516208  983740   911412   3704464   4431788


Что мы тут видим? Физически ОЗУ занимает 16ГБ. Из них занято 10.5ГБ. Но все одновременно запущенные процессы занимают… 32ГБ.

Как 32ГБ могут поместиться в 10.5ГБ? При этом еще 2ГБ вообще ничем не используются, а еще 3.7ГБ — занял файловый кэш. Это что за мега-упаковщик такой?

Так наверное остальное-то в своп уехало! Проверяем

Swap:      48027640     4095404    43932236

А вот и нет. Всего 4ГБ.

Складываем в столбик — своп, кэши, свободное место… 20.3ГБ! А где еще 12ГБ? Это же не погрешность — программы используют памяти почти на 40% больше чем у нас физически есть.

Вот это и есть ответ — если делать в лоб, как при царе Горохе, то памяти нам понадобится в разы больше. И работать это тоже будет в разы медленнее.

Пример — как у нас запускается программа? Да элементарно — файл на диске отображается в память и попадает в кэш страниц…

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

А вы говорите — память неэффективно используется… :-) Это надо еще поискать — что более эффективно используется, хех.
Хороша Маша… но игровые модели с экраном 17.3" — еще лучше :-)

Хоть у какого-нибудь SCAR / Hero и нету 4K матрицы, но зато она сама по себе — больше.
а от величины упущенной выгоды.

… но при этом оная «упущенная выгода» — та еще химера (в отличие от реальных убытков).

Во многих случаях — это просто влажные мечтания, как у RIAA (все пираты должны по 50уе за трек, ведь если бы не было этого вашего интернета — все бы купили!).

И ничего, живем как-то :-)
(смеется) так ведь НТР — это не то что кому-то персонально нравится или нет. Это как вода — результаты затекают во все щели. Где-то крутит турбину, а где-то водяными пистолетиками обливаются.

Так ведь по итогу кто-то мокрый — это не потому что НТР и давайте накажем изобретателя водяных пистолетиков… и вообще вода была только в тазиках.
можно использовать ту самую GDI

… которой нет с 2006 года, осталась только софтовая эмуляция?

Подсказываю, культовая видеокарта S3 Trio64 была выпущена в 1991 году, и умела аппаратный StretchBlt на on-screen context. А топовые видеокарты, выпускаемые с 2004 года — нет.

А затем подтянулась и операционка — и отключила поддержку у тех карт, что еще поддерживали аппаратное ускорение GDI.

Можно с таким же успехом писать напрямую в видеопамять, как в MS DOS, вообще быстро будет, NTVDM все еще жив, хех.

Увы, но нет, эти трюки умерли.

с Windows 7 ведь аппаратную акселерацию GDI вернули

Это не вернули (да и куда возвращать? аппаратно-то нет), это хитрый трюк по surface sharing. Эмулятор GDI может (но не обязан) пользоваться DirectDraw от DX10+.

Нужен для поддержки эмулятором того самого ClearType.
С оптимизмом, и это не шутка.

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

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

Сколько там народу было в инстаграме, когда они стали единорогами, около 20ти?

Еще каких-то полвека (уже чуть больше) назад рынок ЭВМ оценивался в 100 штук по всему миру, и умели они решать целых две задачи (моделирование взрывов и расчет зарплаты).

А теперь ежегодно только смартфоны производятся миллиардами. И на каждый из них — можно поставить что душе угодно из миллионов разных программ.

Чего грустить, что мы слегка проспонсировали НТР, купив еще немножечко кремниевых пластинок?
А два процента от памяти будете скармливать скайпу при каждом запуске.

… а если не дам скайпу, то она уйдет дисковому буферу.

Точнее не так — сколько я ни дам памяти скайпу, а она все равно уйдет или дисковому буферу, или кэшу подкачки страниц, вот так.

И чего тогда за ОЗУ переживать, если это некая абстракция, управляемая операционной системой по ее усмотрению?

:-)
Вы правда думаете, что динамически отрендерить картинку в фоне на основе текстовых данных чата, и вывести это на экран — это сколь-нибудь заметно глазу сейчас?

Рендеринг текста вас ненавидит, тут много неочевидного.

А layout()-инг он побольше, потормознее, и содержит в себе массу не очень очевидных шагов. Его задача — рассчитать, где какую букву рисовать, с учетом шрифтов, эффектов, состояний и т. д. И желательно чтобы это не вылилось в пересчет всего document.

Добавьте платформозависимые гитики типа поверхностей DirectDraw или OpenGL текстур. Добавьте процессы и IPC между ними. Вспомните про pango, cairo, X server pixmaps, XRender и MIT-SHM…

Браузеры — штука сложная.

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

Просто потому, что начиная еще с Windows Vista старые трюки по акселерации GDI+ аппаратно прекратили поддерживать. Не сразу, постепенно, но время идет — и в известном смысле старые трюки на новом железе работают во много раз медленнее, чем на старом.

Это разувесистая DOM веб-контролов

… это и есть наше представление чата в памяти.
представьте, что вместо этих кэшей — скайп при смене абонента заново скачивает, layout-ит и рендерит историю чата. Удобно ли будет?

Вы хотите сказать, что он держит в оперативке всю историю чатов?

А все что вы видите в чате — оно по вашему где? У вас в памяти. Если не поленитесь поскроллить «назад в прошлое» — будете видеть моменты подгрузки истории чата за «уже убранный из кэша» период. Заодно и сможете оценить — нужно ли вам постоянно такое слайд-шоу, хех, или кэш за последних пару дней — оно вполне решение…

(Здесь должен быть вопрос про два процента вашего дохода)

Планку памяти я один раз куплю, а не раз в две недели, так что это не расходы, а инвестиция, и вопрос доходов нерелевантен :-)
(ехидно) так в фотошоп надо равчик загрузить, а то внезапно выяснится, что 53 мегабайта занимает только фон, меню, и пара открытых палитр. И более того, вполне будет резонен вопрос — это как пара пустых окошек столько выжрала? Даже если серый фон основного окна — это фотография стола главного разработчика, куда ушло 50 мегабайт?

И вдруг выяснится, что это вполне сравнимо со скайпом, в котором поди полсотни активных чатов с фоточками открыто, хех.

Но куда они все жрут-то?!

Тут в общем-то секрета нет — первое на что уходит ОЗУ так это на разные double/triple buffers, caches, и прочие чудеса размена тормозов на память. Просто для того, чтобы не тратить ресурс процессора на бессмысленно одинаковые действия.

Вот на секундочку представьте, что вместо этих кэшей — скайп при смене абонента заново скачивает, layout-ит и рендерит историю чата. Удобно ли будет? А так он просто говорит готовой картинке BitBlt.

А еще можно считать в процентах. От 16ГБ ОЗУ ваши «почти четыреста мегабайт» — это 2%. Вот реально, 2% — это катастрофично важно?

И все становится acceptable :-)
возможность совершать групповые видеозвонки.

Если хотите — это и было началом заката «теплого лампового» скайпа. Я до последнего к слову пользовался сначала 2.2, а потом 4.3…

И да, спасибо за напоминание, действительно — скайп начали ломать еще до покупки, все верно. Я поленился за датами в википедию заглянуть, а зря, как оказалось :-)
старый скайп, версии 6.х

А я например предпочитал скайп версии 2.2, и 6я версия — это покрашенный картонный новодел :-)

появились групповые видеоконференции

… именно потому, что к этому моменту микрософт старый скайп полностью переписали. С нуля. И он уже больше не был пир-ту-пир. Внезапно так. И веб версию выкатили.

Более того, я очень хорошо помню процесс запуска этой самой «версии с видеочатами». Именно в это время вся сеть скайпа легла, из 45 млн активных пиров в сети осталось примерно 9 млн, и те линуксовые :-)

Он стабилен, он быстр, он не имеет критических глюков

Шестерка? Да ладно, по сравнению с второй версией — ужас на крыльях ночи, не умеющий даже в нотификации (вот радость — при приходе сообщения всплывает весь скайп целиком вместо нужного чата, да ладно! как это может быть удобно?)

В каком смысле «ползал по диску»?

Не всем по скайпу присылают аж три файла в месяц :-) Мне диалог с прогрессом скачанных файлов (помните такой?) приходилось чистить регулярно, потому что быстро «зарастал» принятыми файлами и нещадно тормозил.

Скажите, вот серьезно, зачем? Что вам даст thumbnail файла, который вам прислали?

Да потому что огромная куча этих «файлов» — картинки, в виде например скриншотов. «У мея еработает». И гораздо удобнее их увидеть сразу в уменьшенном виде, чем ползать «просмотрщиком факсов» в общей свалке…

И вот он должен работать идеально.

У вас параллельная вселенная, хех. Скайп никогда не работал идеально, он всегда был альтернативно-вычурный.

Ну вот например, пишешь ты абоненту текст. Оно делает вид что отправилось. А потом, через пару дней(!!!) появляется рядом с текстом желтый треугольник — «нишмагла». Офигеть идеально работало…

Хотя казалось бы, что может быть проще…

Информация

В рейтинге
Не участвует
Откуда
München, Bayern, Германия
Дата рождения
Зарегистрирован
Активность