Да, такого я не ожидал. Записал пару неказистых видосов за пять минут, опубликовал в треде Twitter, а они завирусились, набрав к моменту подготовки статьи 8,8K лайков. В самом деле не мог такого спрогнозировать, учитывая, что я годами вывешиваю только такой контент, который интересен лично мне… и ничего, отклик почти нулевой. Теперь, когда ситуация поостыла, время навести суету и с известной тщательностью изложить возникшие у меня мысли.

В общем, речь идёт о следующих двух видео в треде Twitter: одно записано на старом компьютере с Windows NT 3.51, а другое — на новом с Windows 11. В каждом из двух видео я открывал и закрывал терминал командной строки, файловый проводник, Блокнот и Paint. Сразу видно, что на старом компьютере приложения открываются мгновенно, тогда как на новом компьютере демонстрируют существенный лаг при загрузке. Я задумался: а в чём же компьютеры становятся лучше, если даже такие тривиальные вещи явно регрессировали. И — раз! — посыпались лайки и расшаривания. Конечно, кому-то мои заявления показались надуманными, но абсолютное большинство аудитории согласилось, что проблема действительно существует.

Для затравки повторю мой тезис: наблюдается ужасная задержка в современных компьютерных интерфейсах, работающих с современными ОС и приложениями, и эта задержка усугубляется. Это касается и смартфонов. В то же время, хотя пользовательские интерфейсы в компьютерах прошлого были гораздо отзывчивее, сами эти компьютеры во многих отношениях никуда не годились. Новые системы значительно изменили всю нашу жизнь. Так что же получается?   

Исходное сравнение

Давайте сначала рассмотрим слона в комнате. Первое сравнение, которое я запостил, было нечестным, и я это сознавал. При этом, я также знал, что при «корректном» эксперименте результаты получатся такими же, поэтому я твёрдо стоял на своём, опираясь на имевшиеся результаты. Видео получились спонтанными, сама идея записать эти твиты пришла мне на ум, когда я пытался загрузить старую машину, попытался открыть командную строку и поразился, как быстро запустилось приложение.

В исходном видео со сравнением были показаны:

·         AMD K7-600 с 128 МБ ОЗУ и жёстким диском на 5400 об/мин, с операционной системой Windows NT 3.51. Это была машина из 1999-2000 года, а стоявшая на ней ОС была лет на 6 старше. С тех времён компьютерное железо развивалось по-настоящему быстро, в особенности это касается скорости работы ЦП, и от вас как бы ожидалось, что либо вы угонитесь за этим конвейером обновлений с периодом 2 года, либо готовы терпеть невероятную тормознутость. При этом у той машины с избытком хватало мощности для работы с установленной на ней операционной системой.

Напомните мне, какими темпами мы продвигаемся. На этом видео — машина примерно из 2000 года (600 МГц, 128 МБ ОЗУ, винчестер — крутильный ржавый), работает на нём Windows NT 3.51. Обратите внимание: приложения заводятся с пол-оборота.   ???? pic.twitter.com/YEO824vIqI

— Julio Merino (@jmmv) June 22, 2023

·         Машина Surface Go 2 с процессором Intel Core m3, 8 ГБ ОЗУ, винчестер — твердотельный, на нём работает Windows 11. Этой машине 3 года, покупалась она с Windows 10, но Windows 11 на ней официально поддерживается, то есть нас лукаво склоняют на обновление. Эту машину ни по каким меркам не назовёшь мощной, но, во-первых, она буквально воспроизводит опыт работы с Microsoft, а во-вторых, должна же она быть гораздо мощнее системы K7, разве нет? Отовсюду слышим, что любой компьютер или телефон сегодня на порядки более мощный, чем машины, использовавшиеся в прошлом.

Теперь попробуем открыть одни и те же приложения под Windows 11 на Surface Go 2 (четырёхъядерный процессор i5 с частотой 2,4 ГГц, 8 ГБ ОЗУ, твердотельный диск). Всё страшно тормозит. pic.twitter.com/W722PNEGv0

— Julio Merino (@jmmv) June 22, 2023

Да, кстати, в том оригинальном твите я немного переврал спецификацию железа. Вот как я допустил ошибку: погуглил “Surface Go 2” и оказался на странице с данными по ноутбуку: “Surface Laptop Go 2”, скопировал увиденное там и даже не заметил, что допустил неточность.

Все приложения были предварительно открыты, поэтому они должны были с удобством расположиться в RAM.

Сравнение получше

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

·         Windows 2000 на машине K7-600 (см. тред об установке). Это ОС из 1999 года, работающая на железе того же года. И, если вам интересно моё мнение, это была лучшая версия Windows всех времён; суперчистый пользовательский интерфейс на ядре NT, полностью оснащённый для производительной и стабильной работы (если не считать ужасно долгой загрузки). Как видите, в том, что касается отзывчивости пользовательского интерфейса, дела на старых машинах шли очень хорошо.

Если кому-то показалось, что сравнение было нечестным — вот Windows 2000 на той же машине с частотой 600 МГц. И железо, и софт одного и того же года выпуска: 1999. Обратите внимание, что оперативность отклика на уровне и с тех пор не ухудшилась. pic.twitter.com/Tpks2Hd1Id

— Julio Merino (@jmmv) June 23, 2023

·         Windows 11 на Mac Pro 2013 (см. инструкции по установке) с 6-ядерным процессором Xeon E5-1650v2, частота 3.5 ГГц, 32 ГБ ОЗУ, двойным графическим процессором и твердотельным диском, который может работать на скорости до 1ГБ/с. Конечно, этой машине уже 10 лет, и в настоящее время используются более современные ОС. Но, пожалуйста, теперь ваш ход. Скажите мне как на духу: каким образом железо, соответствующее таким спецификациям, не может открывать без задержки тривиальные приложения для рабочего стола? Жду.

Кстати, ещё один момент. Да, да, Surface Go 2 не слишком мощный, соглашусь с вами к вашей радости. Но взгляните на это видео. Те же шаги, проделанные на шестиядерном Mac Pro @ 3.5 ГГц с 32 ГБ ОЗУ. Все приложения кэшированы. Обратите внимание, как они отрисовываются фрагмент за фрагментом. Дело не в анимации или посредственном аппаратном обеспечении. pic.twitter.com/9TOGAdaTXO

— Julio Merino (@jmmv) June 23, 2023

Я пользовался Mac Pro потому, что на настоящий момент это лучшая машина с Windows, что есть в моем распоряжении. Фактически, гоняю её ежедневно. Но, повторю: меня не очень беспокоит, что при прогоне этого сравнения на «старой» машине данные могут получиться «неточными». Ещё в прошлом году, когда я ушёл из Microsoft, я регулярно пользовался ПК Z4, изготовленным в 2022 году — с четырёхъядерным i7 ThinkPad на максималках с 32 ГБ ОЗУ, а также ноутбуком i7 Surface Laptop 3 с 16 ГБ ОЗУ. Разумеется, на этих машинах задержки были короче, но взаимодействия в интерфейсе всё равно заметно тормозили.

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

Как развивались компьютеры

Давайте отвлечёмся от твитов и поговорим о том, как ситуация изменилась с начала века. Как-то раз я в шутку спросил, как в нашей индустрии дела с «продвижением вперёд», так что давайте рассмотрим этот вопрос подробнее.  

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

Сноска

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

Также мы значительно продвинулись по части ввода/вывода. В стареньких системах дисковый ввод/вывод всегда был слабым местом. Дискеты работали ненадёжно и медленно. CD и DVD были чуть надёжнее, но тоже работали медленно. Жёсткий диск оказывался узким местом сразу по ряду показателей: со временем производительность винчестеров в единицу времени улучшилась; стало возможно редактировать видео в режиме реального времени и т.п., но произвольный ввод/вывод упирался в физические рамки. А именно от скорости произвольного ввода/вывода в основном зависит отклик настольного ПК.

Потом — бум! — появились твердотельные диски, и их стали устанавливать на ПК. Они стали прорывом, так как исправили проблему со случайным вводом/выводом. Внезапно загрузка компьютера, запуск огромной игры, открывание каталогов с кучей мелких фотографий, да и просто работа с компьютером… всё это очень сильно улучшилось. Сложно объяснить всю величину этого прогресса в юзабилити, если вы сами не прожили этого перехода, и страшно видеть, как все эти достижения уже почти утрачены… подробнее об этом ниже.

Улучшились и другие вещи, например, насколько просто стало ставить новое железо. Повсюду проникли беспроводные соединения и устройства, наступила интернационализация текста и приложений (да, признаю, что Unicode ни прост, ни дёшев)… в результате мы обзавелись более удобными устройствами, пригодными для широчайшего контекста.

Так что, да, во многих областях ситуация улучшилась, и сегодня мы сильны как никогда. В противном случае никогда бы не было таких вещей как обработка фото на крошечном смартфоне с применением машинного обучения. В нулевые такого было просто не представить.

Жуткая задержка

Но… ни одно из этих достижений не может оправдать той мучительной тормознутости, которая сегодня наблюдается при работе с пользовательскими интерфейсами. Старое железо из 1999 года, на котором остановлена ОС того же года, демонстрирует, что когда-то отзывчивые системы действительно существовали. Выше я описал массу аппаратных достижений; логично, что они должны были бы улучшить ситуацию, а не ухудшить, разве нет?

Сноска

Более подробно проанализировать задержки такого типа уже успел Дэн Лу, написавший знаменитую статью «Computer latency: 1977-2017». Обратите внимание, что ретроспектива в этой статье идёт дальше 1999 года, и найденный Лу компьютер с наилучшим откликом существовал в 1983 году. Но, конечно же, те старые компьютеры не потянули бы рабочих нагрузок, какие выдаются современным компьютерам, поэтому не думаю, что было бы честно сравнивать те машины с современными ПК.

В ответ на мое сравнение мне указывали, что «всему виной» графическая анимация и увеличившиеся экраны, так как приходится отрисовывать больше пикселей. Следовательно, за эти новые плюшки приходится потерпеть некоторую медлительность. Нет, не вполне. Убедитесь сами:

И... вот ещё что? Тем, кто говорит: «да это же высокое разрешение в 4K!» или «зато какая красивая анимация!» или «А какой приятный фон у рабочего стола!» отвечу: нет, не в этом дело. Взгляните, при отключении всех этих опций задержка всё равно присутствует. В конце концов… скоро напишу об этом пост. pic.twitter.com/9BQy6IpK6a

— Julio Merino (@jmmv) June 26, 2023

Сегодня повсеместно распространены GPU, и именно они принимают на себя это бремя, освобождая ЦП от работы с графикой. Графическую анимацию такого рода, что отрисовывается на обычном ПК, вычислять очень просто. Это доказано macOS со времён возникновения: все графические эффекты на ПК с macOS кажутся мгновенными. Но из-за эффектов взаимодействия действительно замедляются, особенно на это влияет переключение анимации на ПК, как же я эту штуку ненавижу. Но задержки, как правило, связаны с паузами, целенаправленно расставленными в анимации. Если эти эффекты провоцируют задержки из-за того, что GPU с ними не справляются, например, при подключении 4K-дисплея к какому-нибудь старому Маку, то до боли очевидно, что здесь анимация будет буксовать из-за недостатка мощности. Но последнего случая ни в одном из вышеприведённых видео я не встречал; поэтому думаю, что анимация никак не связана с беспокоящими меня вещами.

Поэтому, пожалуйста, давайте критически об этом задумаемся. Как способность одновременно редактировать множество 4K-видеопотоков в режиме реального времени или возможность стримить 4K-фильм может быть связана с замедлением запуска таких приложений как Блокнот? Или контекстного меню на рабочем столе? Или замедлять почтовый клиент? Мы приобрели новые возможности ценой значительного усиления ЦП и GPU, но они не должны портить производительность задач, в сущности, связанных с вводом/выводом. Простое приложение не должно открываться медленнее, чем 20 лет назад; правда не должно. Но ситуация именно такова. Причины задержек на ПК обусловлены чем-то другим, и у меня есть предположения, чем. Но сначала давайте рассмотрим пару примеров.

Примеры

В сфере Windows есть два очевидных примера, которые я очень хотел привести и, в частноти, были упомянуты в том треде в Twitter:

·         Блокнот вплоть до недавнего времени был нативным приложением и открывался практически мгновенно. После того, как его переписали в виде UWP-приложения, ситуация стала быстро портиться. Разница между «до» и «после» здесь очевидна и, всё-таки… приложение по-прежнему такое же лаконичное, как и раньше. Поэтому пользователю явно неприятно от того, насколько Блокнот замедлился.

·         Что касается Терминала Windows, сейчас он выглядит красивее, чем любая из более ранних версий, но теперь эта программа явственно тяжелее, чем старая Командная Строка. А если добавить до кучи PowerShell, то речь идёт уже о нескольких секундах: столько времени  нужно подождать, прежде, чем новое окно командной строки будет готово к работе, если только вы не работаете на суперклассном железе.

У macOS дела действительно идут получше, чем у Windows,  но и у Мака есть свои проблемы. См. этот пример, предложенный @AlexRugerMusic. Даже на могучем M1 возникают проблемы при необходимости открыть приложение с системными настройками:

Вот ещё  пример:

Слева: 2006 MBP (2 ГГц Core 2 Duo, 2 ГБ DDR2 ОЗУ, Max OS X 10.6.8; твердотельный диск).

Справа: MacBook Air 2021 года (M1, 16 ГБ ОЗУ, macOS 13)

Приложения открываются примерно вдвое быстрее, чем на Pro, равно как и на Air (большинство приложений, а не только системные настройки). pic.twitter.com/PjMX1DI4uz

— rewgs (@AlexRugerMusic) June 27, 2023

Вероятно, из всех операционных систем Linux наименее подвержен таким проблемам, и на современном аппаратном обеспечении по-прежнему бегает шустро. Например, дистрибутив Fedora Linux 38, выпущенный в апреле 2023, очень хорошо бегает на микро-ПК одиннадцатилетней давности, даже если по меркам тех лет Gnome или KDE казались обжорами. Тем не менее, это всего лишь иллюзия. Как только вы попробуете установить там какое-либо современное приложение, которое не разрабатывалось конкретно под Linux… оно сразу начнёт тормозить при загрузке и в целом покажет плохую производительность.

Боковой сюжет, но также считаю нужным сказать: сильнейший шок такого рода я испытал в 2009 году, когда пришёл работать в Google. В те времена поисковик Google и гуглопочта GMail развивали космическую скорость и были примерами для подражания. А изнутри компании… поразительно, какими тихоходными были все инфраструктурные инструменты и в особенности внутрикорпоративные инструменты для работы с командной строкой. На самом деле, я виню Google за то, в какой ситуации мы сегодня оказались. Ведь они с их эпичными внутренними системами и стремлением создавать веб-приложения любой ценой и привели нас к той ситуации, о которой речь пойдёт далее…

Причины

Как же всё это случилось? Легко свалить всю вину на раздувание кода, но эта вещь плохо поддаётся дефиниции, так как раздувание бывает и оправданным: одному кажется, что код разбух, а другому — нет. В конце концов, «80% пользователей применяют всего 20% того софта, который устанавливают (см. Принцип Парето), но главный вывод из данной закономерности в том, что эти 20% у разных пользователей отличаются. Поэтому разбухание не обязательно свойственно софту, обрастающему фичами; оно обусловлено другими причинами.

Итак, ещё у нас есть фреймворки и уровни абстрагирования, которые, кажется, раздувают код просто так. Но я не уверен, что эта точка зрения корректна; абстракция необязательно приводит к замедлению функций — посмотрите хотя бы на Rust. Процессы замедляются из-за расстановки приоритетов. Никто больше не ставит производительность во главу угла, за исключением тех случаев, где она абсолютно важна (видеоигры, перекодировка видео и т.п). Сегодня люди (и компании) предпочитают экономить время разработчика. Например: возможно, вы не захотите использовать Rust, так как кривая обучения в нём очень крута. Таким образом, программисту придётся тратить на обучение больше времени, чем на полезную работу. С другой стороны, увеличение времени  компиляции приводит к тому, что вам придётся дольше ждать, пока код скомпилируется, чем сдавать готовый продукт отлаживать его перед продом. Ещё пример: возможно, вам не захочется разрабатывать нативные приложения, так как это означает «двойную работу», и вы решите воспользоваться кроссплатформенным веб-фреймворком, например Electron.

Знаю, легко наговаривать на Electron, но есть очень характерные признаки, что именно эта платформа в значительной степени провоцирует задержку, наблюдаемую при работе с приложениями для ПК. Возьмём, к примеру, 8-ю версию 1Password, на которую многие пользователи перешли с седьмой несмотря на то, как медленно работает новый интерфейс. Либо возьмём Spotify, где с самого зарождения продукта приоритет отдавался скорости запуска и воспроизведения, а сегодня, как знаете, эти показатели ухудшились:

Версия 2009 года: полностью нативное приложение для cocoa размером 20 МБ, запускается менее чем за секунду, мгновенная реакция при щелчке по треку, воспроизведение обычно начинается не более чем за 50 мс. pic.twitter.com/Enzi40PDCX

— Rasmus Andersson (@rsms) May 10, 2023

Эти приложения были переписаны на Electron, чтобы унифицировать работу с ними на ПК и сократить расходы… но для кого это делалось? Сэкономили компании, владеющие продуктами, а не пользователи. Такую экономию ежедневно оплачивает своими нервами каждый из нас, а вдобавок мы вынуждены без необходимости обновлять софт. Пару таких переписываний, плюс сам факт, что ОС не позволяют переиспользовать тяжеловесный фреймворк сразу во множестве приложений (здесь мы возвращаемся к тому, почему использовать всю RAM в качестве кэша — порочная позиция)… и  раздувание кода нарастает ещё быстрее, если вы пытаетесь пользоваться этими приложениями параллельно.

Если оставить в стороне Electron, есть, пожалуй, и другое решение, способствовавшее нарастанию таких задержек. Речь о том, что на вооружение массово берутся управляемые и интерпретируемые языки. Я знаю, что и это легкая цель для упрёков, но эти упрёки оправданные. Возьмём, к примеру, Java или .NET: несколько приложений для Windows постепенно переписали на C#, и, хотя я и не могу этого доказать, имеющийся опыт не оставляет сомнений, что именно поэтому они стали так тормозить. Среды JDK и CLR отлично справляются со своей работой по оптимизации долгоиграющих процессов (например, JIT и PGO с данными в реальном времени), но обеспечение быстрого запуска за минимум времени не их сильная сторона. Именно поэтому, например,  Bazel порождает фоновый серверный процесс, чтобы замаскировать таким образом задержку при запуске, а Android проходит через множество итераций AOT-компиляции. (Примечание автора: должны быть и другие причины, которые я подробно не исследовал. По замечанию одного читателя, я ошибаюсь, утверждая, что новый терминал Windows написан в основном на C#.)

Подробнее эту ситуацию характеризует Закон Вирта.

Единичный качественный скачок легко сходит на нет

Закончу эту статью в пессимистическом ключе и вернусь к тому, как развивается аппаратное обеспечение.

В частности, твердотельные диски обеспечили нам качественный скачок (трансформацию). Обычные винчестеры совершенствовались годами, но так и не позволили поднять произвольный ввод/вывод на такой уровень работы на ПК, отдачу при котором можно было бы назвать молниеносной. С переходом на твердотельные диски ситуация принципиально улучшилась. К сожалению… этот прорыв достался нам единожды: никакая из последующих технологий не обеспечила такой мгновенной трансформации. Следовательно, достоинства этой технологии оказались быстро съедены безответственным подходом к разработке ПО, и мы практически вернулись к тому, с чего пришли. Да, твердотельные диски ускоряются, но новые модели уже не обеспечивают такого разительного роста, как переход с HDD на SSD.

Как вы можете убедиться, работать с новейшими версиями Windows или macOS без SSD практически невозможно. Эти системы изначально рассчитаны на то, что будут устанавливаться на компьютер с твердотельным диском, и такой расчёт обоснован, но влечёт все те проблемы, которые я обрисовал выше. То же самое касается «раздувания» кода приложений: откройте ваш любимый монитор ресурсов, посмотрите график использования дискового ввода/вывода и запустите любое современное приложение. Увидите, как мегабайты за мегабайтами станут грузиться с диска в память, и пройдёт немало времени, прежде, чем это приложение начнёт отзываться. Именно такое разбухание привносит Electron, и на твердотельном диске это приемлемо. Но при более грамотном проектировании можно было бы вообще избежать таких издержек.

Поэтому меня особенно беспокоит Apple Silicon. Вспомните весь пафос по поводу выхода M1 на рынок, вспомните, как превозносили производительность этих машин, а также срок службы батареи  и полностью бесшумные кулеры. Давайте подождём и увидим: вдруг все эти достоинства тоже окажутся обнулены, если мы продолжим двигаться всё тем же безответственным путём. Возможно, опять будет слишком поздно. Технически очень сложно нарастить производительность существующих приложений, а поставить в приоритет при работе в организации почти невозможно.

Итак… смогут ли IT-архитекторы спасти нас, предложив новый революционный технологический переход? Я бы на это не рассчитывал. Не потому, что пути к такому переходу может не найтись, а потому, что лучше бы он вообще не потребовался.

Комментарии (46)


  1. vadimr
    09.07.2023 21:05
    +4

    Самый быстрый интерфейс, который я видел, был на Apple II с 8-разрядным процессором с тактовой частотой 1 МГц. Когда я впервые сел на PC, меня больше всего удивило, как медленно скроллится текст на экране.


  1. NeoCode
    09.07.2023 21:05
    +9

    Ну раньше на Сях кодили, а теперь на каких-то JS-фреймворках:) Результат закономерен. Впрочем, было бы интересно сравнить свободное ПО - тот же Linux - на старом железе и на новом. У меня было ощущение, что у линукса GUI помедленнее чем у видны. И раньше и сейчас.


    1. ihouser
      09.07.2023 21:05
      +1

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


  1. czz
    09.07.2023 21:05
    +7

    Возможно, Хулио что-то путает.

    И Windows NT 4, и Windows 2000, когда появились, считались системами тяжелыми и требовательными к железу. На массовом железе своего времени они тормозили. И тогда еще было не то время, чтобы к новой ОС покупать новый ПК с процессором, только что вышедшим с конвеера.

    Процессоры с частотой 600 МГц стоит рассматривать уже в контексте Windows XP.

    Еще можно добавить, что Windows NT 4 и Windows 2000 — прекрасные продуманные продукты, созданные высококвалифицированными инженерами. Сейчас продукт более или менее такого уровня — это MacOS, с ней и стоит сравнивать, тогда не будет ощущения, что все пропало. А Windows 11 пора закапывать.

    P.S. Вы в курсе, что ссылки на твиттер в РФ не откроются? :)


    1. czz
      09.07.2023 21:05
      +6

      И кстати, я помню, как несколько минут загружался Photoshop, треща винчестером. А сейчас я его открыл — за 6 секунд запустился. Так что не надо тут :)


    1. vagon333
      09.07.2023 21:05
      +2

      На массовом железе своего времени они тормозили.

      У меня другой опыт: пересел с Win3.11 сразу на NT4 (минуя 95) и операционка под 16мб RAM работала шустро.
      Под 12мб RAM подтормаживала заметно.

      Огромный плюс для меня: операционка не падала совсем.
      Т.е. можно было сфокусироваться на разработке и не бояться потерять работу через BSOD.


      1. N-Cube
        09.07.2023 21:05
        +1

        Даже 12 МБ ОЗУ это было топовое железо, обычное - 8 МБ, на которых тоже можно было запуститься, но все очень тормозило. А уж как NT4 сервер полчаса-час грузился при недостатке ОЗУ, но он был необходим для работы локальной сети… В общем, как всегда, только склероз делает «траву раньше зеленее» :)


        1. vagon333
          09.07.2023 21:05
          +4

          Алексей, судя по вашему профилю на Хабре, вы закончили учебное заведение в 2004 году.
          Как вы набираетесь смелости кого-то обвинять в склерозе, если в 90ые вы в Денди играли?

          Hidden text


          1. N-Cube
            09.07.2023 21:05
            +1

            Если вы про Британию - возможно, а в России было совсем не так. В начале двухтысячных я уже работал на кафедре моего университета и еще в паре (по очереди) - так что на реальное «железо» насмотрелся. Пожалуй, только банки в то время могли себе позволить то, о чем вы пишите. Кстати, закончить магистратуру в 2004м в те времена означало иметь опыт работы с 2000-2001 (такая уж стипендия была).


            1. apxi
              09.07.2023 21:05
              +3

              В нашей деревне 60 тыс население, в колледже 99 год, были машины для студентов с 8 и 16 мб, не скажу что наш колледж был супер богатый.


            1. PuerteMuerte
              09.07.2023 21:05
              +1

              так что на реальное «железо» насмотрелся.

              Ну это какое-то сильно "реальное" железо. У нас в институте в 1997-м уже были сервера на NT4, нормально они работали на своих 16Мб. Другое дело, что если вы брали НТху этак в 2001-м, вы наверняка уже вкатывали туда шестой сервис-пак, и получали систему с минимальными требованиями 32Мб, поэтому на каком-то 8-метровом агрегате она наверняка работала... не очень. Но скажем так, в 2001-м году обычная офисная печатная машика имела 64-128 метров, поэтому 8Мб, это не типовая конфигурация, а боль бюджетных организаций.


              1. N-Cube
                09.07.2023 21:05

                Насколько помню, как раз где-то в 2001-2002 почти везде массово обновляться начали, а до того с 90-х «железо» работало (в первые годы после дефолта и тому были рады).


          1. lordleto
            09.07.2023 21:05
            +1

            В 1996 4мб была норма для домашнего ПК. Кстати heroes требовали 4184кб RAM для запуска - самая жесткая подстава. В терминалках универа стояло уже не меньше 8. WIN95 на 8мб шевелился чуть более чем никак.
            В 1997м году цены на память упали примерно в 2раза - поэтому средний объем ОЗУ вырос с 8 до 16мб к середине года. В 1998м они еще грохнулись в 2 раза, и уже вполне нормально стало 32-64. В 1999-2000 цены на память упали примерно 4 раза...


        1. M_AJ
          09.07.2023 21:05

          Даже 12 МБ ОЗУ это было топовое железо

          Не топовое. Мне в 2002 отдали офисную машину, которую не жалко с 16 МБ RAM, куда я купил еще 16, чтобы пободрее была.


          1. czz
            09.07.2023 21:05
            +2

            Погодите, речь про 90-е :)


            1. M_AJ
              09.07.2023 21:05

              Вы про Win 2000 говорили же.


              1. czz
                09.07.2023 21:05
                +1

                12-16 МБ - это про Win NT 4.0, 1996 год


        1. sepulkary
          09.07.2023 21:05

          Не вспомню, сколько ОЗУ было на рабочих машинах в начале нулевых, но хорошо помню, что NT4 падала существенно реже Win95 на том же железе.


          1. PuerteMuerte
            09.07.2023 21:05
            +1

            но хорошо помню, что NT4 падала существенно реже Win95 на том же железе

            Всё, что угодно, падало существенно реже Win95 на том же железе. По крайней мере, кроме Вин 3.х


          1. lordleto
            09.07.2023 21:05

            вин95 падала чуть реже чем постоянно, только в OSR2 более или менее начало работать.


    1. PuerteMuerte
      09.07.2023 21:05
      +4

      На массовом железе своего времени они тормозили.

      А что такое "массовое железо времени Вин2000", например? Я ставил Вин 2000 на К6-166 с 48МВ памяти, это чуть меньше её системных требований. Интерфейс у неё работал даже на такой машинке мгновенно... пока не начнёшь запускать какой-то софт пожирнее офиса, тогда начиналась активная работа со свопом и всё подтормаживало. Но работа со свопом, это другое (с) Если у тебя система свопится, ты можешь докинуть в неё памяти, и она перестаёт свопиться. Если у тебя система тормозит сама по себе, это уже не лечится.


      1. czz
        09.07.2023 21:05
        +1

        Кажется, у меня было что-то подобное, K6-233 и 64 MБ.

        Смотря что вы имеете в виду под интерфейсом. Прорисовка интерфейса, конечно не тормозила.

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

        Сама система отжирала довольно много памяти, и для комфортной работы в Visual Studio и др. уже не хватало 64. Отключал сервисы, чтобы уменьшить потребление.

        Наверное, с 256 МБ было бы гораздо веселее. Постепенно все используемое загрузилось бы в дисковый кэш, и все стало бы идеально. Но апгрейды на 128 и выше начали делать уже после выхода Win2000, потому что до ее выхода столько памяти просто нигде не было нужно.

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

        Но если так рассуждать, то что значит "сама по себе"? Всегда можно докинуть ресурсов. У меня Win11 очень комфортно работает в виртуалке на сервере, где 64 ядра EPYC, а памяти столько, что весь диск помещается в кэш целиком.


    1. ZekaVasch
      09.07.2023 21:05

      Даже картинки без впн не прогрузятся


    1. oleg_rico
      09.07.2023 21:05

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


  1. itmind
    09.07.2023 21:05
    +1

    К сожалению SSD сейчас уже не спасает от тормознутости. Когда начался массовый переход на SSD, Windows грузился 1-3 секунды. Сейчас у меня один из свежих топовых ноутбуков на Windows 11 грузится секунд 30-40. (одно предустановленное ПО вендора пришлось даже удалить, т.к. оно давало задержку около 1 минуты до полной загрузки.)


    1. N-Cube
      09.07.2023 21:05
      +1

      И 20 лет назад было ровно то же - если не выкинуть все из автозагрузки и не отключить все эффекты Windows и проверки дисков. Для эксперимента попробуйте то же самое сделать и сравните, а иначе и смысла нет оценивать - может, у вас в фоне проверка рейда на паре дисков в десятки терабайт идет.


  1. vvbob
    09.07.2023 21:05
    +3

    Можно долго рассуждать о причинах, и методике сравнения, но в главном согласен с автором - такое ощущение что двадцати лет бурного развития железа просто не было, если смотреть только на работу с интерфейсом ОС. В начале нулевых собрал себе довольно бюджетную машинку, со 128Мб памяти, процессором, каким-то К от АМД, уже не помню даже точно каким, винтом что-то около 30Гб, накатил туда винду ХР, и все это как-то вполне приемлемо работало, да оно может и не тянуло какие-то супесовременные на тот момент 3Д игры, но тот-же квейк первый и второй, халва и т.п. на нем работали приемлемо, и интерфейс не тормозил. Да был вполне понятный лаг при загрузке с винта, но если приложение уже загрузилось, то работало оно вполне шустро.

    Сейчас-же у меня комп с ССД диском, 16Гб памяти, четырехсядерным процом на 3Ггц, по сравнению с тем компом это просто космолет по сравнению с крестьянской телегой, а интерфейс - я бы не сказал что он сильно шустрее работает чем на том старом компе.


  1. Ludens3
    09.07.2023 21:05
    +4

    Безопасность и аналитика.

    Это причины тормозов. Всем нужно знать, а можете ли вы запускать блокнот, сохранить это в истории и загрузить в облако.

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

    Корневая причина во втором случае - слишком много сотрудников. В первом - разработчиков.

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


    1. PuerteMuerte
      09.07.2023 21:05
      +2

      Безопасность и аналитика.

      Это причины тормозов.

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


  1. Revolt-or-die
    09.07.2023 21:05
    +3

    Купил я для игр алиенвейр с космическими (относительно) характеристиками, там и 3080 с 16 врам, и 64 озу и процессор и7, очень быстрый ссд. И вот это все ужасно лагает за пределами игр в виндовс 11, банально твитч в едже открыть уже беда начинается. С играми благо все в порядке.


    1. perfect_genius
      09.07.2023 21:05

      Тоже купил ноут с Вин11, она постоянно обновляется, постоянно разные мелкие баги, постоянно исчезают одни, но появляются другие. Папку с тысячами картинок открывает несколько секунд, когда на предыдущих ОС открывалась мгновенно. Банально, в разработке ещё всё, вот и тормоза.
      Некоторые игры у меня тормозили. Только через полгода выяснил, что у меня всё время работала только встройка, при переключении в фирменной утилите (и то там оно не на виду) на дискретку все проблемы с играми пропали.
      Как про переключение видеокарты должен был узнать рядовой покупатель — загадка.


      1. PuerteMuerte
        09.07.2023 21:05

        Как про переключение видеокарты должен был узнать рядовой покупатель — загадка.

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


  1. Arhammon
    09.07.2023 21:05

    Напоминает плач по поводу Висты, когда её ставили на калькуляторы с 256Мб памяти и все ныли что Виста - дерьмо, верните ХР. В то время как у тебя на работе был ноут с 3Гб, а дома системник с 8Гб и все замечательно работало... И вероятно продолжало бы работать до настоящего времени еслиб диск не помер. Кстати 7ка на 8гб была уже тупее, как раз вероятно изза того, что после нытья агрессивный перфетч с забиванием всего, что можно и нельзя в ОЗУ порезали.

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


    1. ihouser
      09.07.2023 21:05

      Причем здесь плачь? Автор рассказывает об очевидным уже всем и каждому, что интерфейсы тормозят. А ведь можно было бы сделать попроще, чтобы всякие второстепенные функции вели себя незаметно и не отвлекали от основной работы.


      1. vvbob
        09.07.2023 21:05
        +1

        Хотя-бы была возможность легко отключать то что тебе не нужно, был-бы выбор у пользователя - убрать свистоперделки, но зато получить мгновенный отклик интерфейса, либо любоваться "нескучными", но очень неторопливыми эффектами.

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

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


        1. ihouser
          09.07.2023 21:05

          Come in to Linux, Luke!

          В KDE все эффекты отключаются. Или можно юзать легковесное графическое окружение. Тормознутость возникает не из за эффектов а из за неусилий компаний выпускающих софт.

          В Linux (*nix) можно гибко задавать программам приоритеты по юзверям и по групам (комманда nice). T.e., "в большинстве операционок не хватает" правильно пишется "в Windows не хватает".

          склонности винды начинать обновление когда ей приспичит

          Это жесть и дикость создаваемая гуманитариями в руководстве! Проблемы софте решают самим легким дешевым способом.


          1. vvbob
            09.07.2023 21:05
            +1

            Да я в курсе, на Линуксе очень долго сидел, я в основном про винду говорил, про разные ее версии.

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


    1. perfect_genius
      09.07.2023 21:05
      +1

      И вероятно продолжало бы работать до настоящего времени еслиб диск не помер.

      Иронично, т.к. Висту в первую очередь не любили потому, что она постоянно насиловала диск.


  1. Opaspap
    09.07.2023 21:05

    Мне кажется дело в программистах, вот например популярный фреймворк (или либа?) gradio - за каждым чихом идет на сервер, имеет какие то безумные расшаренные объекты, я не питонщик, и не копал, может его неправильно используют, но такое впечатление, что об "отзывчивости" товарищи не слышали. Статья так себе, сравнение win3.5 и win11 не имеет смысла. Про Linux кстати тож неправда, за все 20 лет, я помню действительно отзывчивый интерфейс только в нач 2000 - dm enlightenment, 2.2 ядро кажется тогда было, остальное - постоянные внезапные лаги в gui из за конкуренции в io.


  1. TitovVN1974
    09.07.2023 21:05

    (странное сочетание, было проверено ради шутки) Pentium III - 800, 512 MB, ATI Rage 128 GL @ 1600x1200, True Color, 85 Hz и ... Windows 3.11 - летало невероятно)


  1. vadimr
    09.07.2023 21:05
    +2

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

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


  1. perfect_genius
    09.07.2023 21:05

    Банально, Вин11 сейчас в активной разработке. Баги постоянно появляются и исчезают.
    Всю жизнь сижу на Пейнте, и на него теперь без слёз не взглянешь — открывается дольше, интерфейс тормозной, разные баги. Попробуйте создать линию — когда её тянешь, то линия не успевает за курсором! Жесть. Ну хоть, развивается понемногу, но про баги, появившиеся ещё в Вин7, они там не знают и не исправляют.


    1. perfect_genius
      09.07.2023 21:05

      А ещё каждый раз при выключении ноута меня веселит вот этот момент — курсор застывает, зависает!
      Подзависания курсора всегда было крайним случаем, когда всё совсем плохо с системой, вся память закончилась и т.д. А тут курсор намертво зависает на несколько секунд как только нажимаешь "Завершить работу".
      Курсор же аппаратно ускоряется, как он умудряется зависать-то?


  1. mixsture
    09.07.2023 21:05

    Именно такое разбухание привносит Electron

    А давайте при сравнении не забывать про кросспплатформенность. Сначала надо написать приложение на 3.51 таким образом, чтобы оно запустилось, однообразно работало и отображалось на 5 разных ОС, архитектурах и прочем — а затем его можно будет корректно сравнивать. Кроме всего, затраты ресурсов разрабов на это приложение нужно привести в близкие к электрону, т.е. не рассматривать 10 команд разрабов на нативных языках против 1 команды на электроне.
    Не думаю, что выйдет такая уж большая разница, когда мы эти параметры уравняем.


    А сейчас мы сравниваем кита со слоном. Ну они разные, сказать что-то конкретнее выходит не особо.


    1. PuerteMuerte
      09.07.2023 21:05
      +1

      А давайте при сравнении не забывать про кросспплатформенность

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


  1. tty01
    09.07.2023 21:05

    Возьмите хотя бы Скайп. Раньше была быстрая нативная программа, а сейчас это тормозящая html-страничка с навешенными скриптами, потому что так быстрее разрабатывать.