24-ядерный CPU, а я не могу набрать электронное письмо

https://randomascii.wordpress.com/2018/08/16/24-core-cpu-and-i-cant-type-an-email-part-one/
  • Перевод
Я не искал неприятностей. Не запускал процесс сборки Chrome тысячу раз за выходные, а только занимался самыми обычными задачами 21-го века — просто писал электронное письмо в 10:30 утра. И вдруг Gmail подвис. Я продолжал печатать несколько секунд, но на экране не появлялось никаких символов. Затем внезапно Gmail отвис — и я вернулся к своему очень важному письму. Но впоследствии всё повторилось, только на этот раз Gmail ещё дольше не отвечал запросы. Это странно

Трудно устоять перед возможностью провести хорошее расследование, но в данном случае вызов особенно силён. Ведь я в Google работаю над улучшением производительности Chrome для Windows. Обнаружить причину зависания — моя работа. И после множества фальстартов и тяжёлых усилий мне всё-таки удалось выяснить, как Chrome, Gmail, Windows и наш IT-отдел вместе помешали мне набрать электронное письмо. По ходу дела нашёлся способ сэкономить значительное количество памяти для некоторых веб-страниц в Chrome.

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

Как обычно, у меня в фоне работает UIforETW и отслеживает циклические буферы, поэтому оставалось только ввести Ctrl+Win+R — и буферы примерно за последние тридцать секунд активности системы сохранились на диск. Я загрузил их в Windows Performance Analyzer (WPA), но не смог окончательно установить зависание.

Когда программа Windows перестаёт передавать сообщения, то выдаются события ETW с указанием, где именно это произошло, поэтому такие типы зависаний тривиально найти. Но, видимо, Chrome продолжал передавать сообщения. Я поискал момент, когда один из ключевых потоков Chrome либо вошёл в активный цикл, либо полностью простаивал, но ничего явного не нашёл. Были некоторые места, где Chrome преимущественно простаивал, но даже тогда все ключевые потоки продолжали трудиться, поэтому нельзя было быть уверенным, где произошло зависание — Chrome мог простаивать просто в отсутствие событий:



В UIforETW есть встроенный кейлоггер, который часто полезен при идентификации ключевых точек в трассировке. Тем не менее, по очевидным причинам безопасности он по умолчанию анонимизирует нажатия клавиш, расценивая каждое введённое число как “1”, а каждую букву как “A”. Это затрудняет поиск точного момента зависания, поэтому я изменил тип трассировки с «частной» на «полную» и ожидал зависания. Около 10:30 на следующее утро зависание повторилось. Я сохранил буферы трассировки и сохранил такую пометку в поле информации трассировки UIforETW:

Набирал «отложить для тех, у кого больше опыт работы с подводным плаванием» — и Gmail подвис в конце слова «тех», а затем возобновил работу в районе слова «опыт». Вкладка Gmail с PID 27368.

Это обычное обсуждение способов добраться до офиса, но важно, что теперь появился способ найти зависание в трассировке ETW. Я загружаю трассировку, смотрю на данные кейлогера в поле Generic Events (события выдаются самим UIforETW, а каждое представляет собой фиолетовый ромб на скриншоте внизу) — и сразу вижу, где произошло зависание, с которым явно коррелирует провал в использовании CPU:



Хорошо, но почему Chrome остановился? Вот некоторые намёки: на скриншотах не показано, что каждый раз при этом WmiPrvSE.exe полностью использует гиперпоток CPU. Но это не должно иметь значения. В моей машине 24 ядра/48 потоков, так что потребление одного гиперпотока означает, что система по-прежнему свободна на 98%.

Затем я приблизился к явно важному периоду, когда Chrome простаивал — и посмотрел, в частности, на процесс CrRendererMain в chrome.exe (27368), соответствующий вкладке Gmail.

Примечание: хочу сказать спасибо себе из 2015 года за просьбу Microsoft улучшить механизмы именования потоков, и спасибо Microsoft за реализацию всего предложенного — названия потоков в WPA просто великолепны!

Проблема прояснилась. В течение 2,81 секунды зависания этот поток запускался по расписанию 440 раз. Обычно запуска каждые 6 мс достаточно, чтобы сделать программу отзывчивой, но по какой-то причине этого не произошло. Я заметил, что каждый раз, когда он просыпался, то был на одном стеке. Если упростить:

chrome_child.dll (stack base)
KernelBase.dll!VirtualAlloc
ntoskrnl.exe!MiCommitVadCfgBits
ntoskrnl.exe!MiPopulateCfgBitMap
ntoskrnl.exe!ExAcquirePushLockExclusiveEx
ntoskrnl.exe!KeWaitForSingleObject (stack leaf)

Chrome вызывает VirtualAlloc, который пытается обновить некоторые “CfgBits” и должен получить блокировку. Сначала я предположил, что Chrome вызывал VirtualAlloc 440 раз, что кажется странным. Но реальность оказалась ещё более странной. Chrome вызвал VirtualAlloc однажды — и должен был получить блокировку. Chrome сигнализировал о доступности блокировки, но — 439 раз подряд — когда Chrome просыпался и пытался получить блокировку, она оказывалась недоступна. Блокировка получалась повторно через процесс, упомянутый выше.

Это потому что блокировки Windows по своей природе несправедливы — и если поток освобождает блокировку, а затем немедленно её запрашивает снова, то может получать её вечно. Голод. Подробнее об этом в следующий раз.

В каждом случае процессом, который сигнализирует Chrome захватить блокировку, был WmiPrvSE.ехе, отпускающий блокировку на этот стек:

ntoskrnl.exe!KiSystemServiceCopyEnd (stack base)
ntoskrnl.exe!NtQueryVirtualMemory
ntoskrnl.exe!MmQueryVirtualMemory
ntoskrnl.exe!MiUnlockAndDereferenceVad
ntoskrnl.exe!ExfTryToWakePushLock (stack leaf)

Некоторое время занял разбор в WMI (подробнее об этом в следующий раз), но в итоге я написал программу для воссоздания поведения WMI. У меня были данные выборки CPU, которые показали, на что тратит время WmiPrvSE.exe (в упрощённом виде с некоторыми правками):

WmiPerfClass.dll!EnumSelectCounterObjects (stack base)
WmiPerfClass.dll!ConvertCounterPath
pdh.dll!PdhiTranslateCounter
pdh.dll!GetSystemPerfData
KernelBase.dll!blah-blah-blah
advapi32.dll!blah-blah-blah
perfproc.dll!blah-blah-blah
perfproc.dll!GetProcessVaData
ntdll.dll!NtQueryVirtualMemory
ntoskrnl.exe!NtQueryVirtualMemory
ntoskrnl.exe!MmQueryVirtualMemory
ntoskrnl.exe!MiQueryAddressSpan
ntoskrnl.exe!MiQueryAddressState
ntoskrnl.exe!MiGetNextPageTable (stack leaf)

Воспроизвести медленное сканирование по данным выборки было довольно легко. Интересной частью стека вызовов выше оказался NtQueryVirtualMemory, который используется для сканирования памяти процесса и вызывается соответствующим образом именованным GetProcessVaData, где Va, вероятно, обозначает виртуальный адрес. Моя программа VirtualScan просто вызывала NtQueryVirtualMemory в очевидном цикле для сканирования адресного пространства указанного процесса, код работал очень долго для сканирования процесса Gmail (10-15 секунд) — и приводил к зависанию. Но почему?

Преимущество собственноручно написанного цикла сканирования в том, что можно генерировать статистику. NtQueryVirtualMemory возвращает данные для каждого смежного диапазона адресного пространства с соответствующими атрибутами. Такими могут быть «всё зарезервировано», «всё зафиксировано с определенными настройками защиты» и т.д. В процессе Gmail около 26 000 этих блоков, но я нашёл другой процесс (как оказалось, это WPA) с 16 000 блоками памяти, который сканировался очень быстро.

В какой-то момент я посмотрел на процесс Gmail с помощью vmmap и заметил, что процесс Gmail занимает немало памяти (361 836 КБ) и много отдельных блоков (49 719), поступающих из единого источника зарезервированной общей памяти — источника размером 2 147 483 648 КБ, то есть 2 ТБ. Что?



Я знал, что резервирование 2 ТБ используется для Control Flow Guard (CFG), и вспомнил, что “CFG” действительно появлялся в стеках вызовов, где ожидал процесс Gmail в Chrome — на стеке присутствовал MiCommitVadCfgBits. Может, большое количество блоков в регионе CFG и было проблемой!

Control Flow Guard (CFG) используется для защиты от эксплойтов. Два терабайта зарезервированы как битовый массив, который указывает на валидные косвенные переходы в 128-терабайтном адресном пространстве пользовательского режима. Поэтому я изменил свой сканер виртуальной памяти для подсчёта, сколько блоков находится в регионе CFG (просто поиск резервации 2 ТБ), а сколько блоков помечены как исполняемые. Поскольку память CFG используется для описания исполняемой памяти, то я ожидал увидеть в процессе один блок памяти CFG для каждого блока исполняемой памяти. Вместо этого я увидел 98 блоков исполняемой памяти и 24 866 блоков фиксированной CFG-памяти. Существенное расхождение:

      Scan time,  Committed, page tables, committed blocks
Total: 41.763s, 1457.7 MiB,    67.7 MiB,  32112, 98 code blocks
CFG: 41.759s,  353.3 MiB,    59.2 MiB,  24866

vmmap показывает резервирование и выделенную память как блоки, а мой инструмент сканирования считает только выделенные блоки — вот почему vmmap показывает 49 684 блоков, а мой инструмент 24 866

Задним умом это кажется очевидным, но что если битовый массив CFG никогда не очищается? Что если память выделяется в битовом массиве CFG при выделении исполняемой памяти, но не освобождается при освобождении исполняемой памяти? Тогда такое поведение понятно.

Воспроизведение от начала до конца


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

  1. Многократный цикл:
    • Выделить исполняемую память с помощью VirtualAlloc по случайному адресу.
    • Освободить память.
  2. Затем бесконечный цикл:
    • Спящий режим на 500 мс (не хочу свински захватывать процессор).
    • Выделить немного исполняемой памяти с VirtualAlloc по заданному адресу.
    • Вывод сообщения, если вызов VirtualAlloc занимает более ~500 мс
    • Освободить память.

Вот и всё. Очень просто. И было так приятно, когда это сработало. Я запустил программу, а потом поручил VirtualScan просканировать процесс VAllocStress. Быстро выяснилось, что блок CFG ужасно фрагментирован, и сканирование занимает очень много времени. И моя программа VAllocStress зависала на время сканирования!

На этом этапе я смоделировал фрагментацию CFG, длительное время сканирования и зависание. Ура!

Первопричина


Оказывается, в JavaScript-движке v8 задействованы объекты CodeRange для управления генератором кода, и каждый объект CodeRange ограничен диапазоном адресов 128 МБ. Казалось бы, это достаточно небольшой объём, чтобы избежать безудержного распределения CFG, которые мы наблюдаем.

Но что, если у вас несколько объектов CodeRange, и они распределяются по случайным адресам, а затем освобождаются? Я настроил конструктор CodeRange, оставил работать Gmail — и нашёл виновника. Каждые пару минут создавался (и уничтожался) новый объект CodeRange. В отладчике легко видеть, как WorkerThread::Start выделяет эти объекты. И тут головоломка сложилась:

  1. Gmail использует сервис-воркеров, вероятно, для реализации автономного режима.
  2. Они появляются и исчезают каждые несколько минут, потому что так ведут себя сервис-воркеры.
  3. Каждый поток воркера получает временный объект CodeRange, который выделяет некоторые исполняемые страницы для JITted-кода JavaScript из случайного расположения в 47-битном адресном пространстве процесса.
  4. При выделении новых кодовых страниц производятся записи в резервации памяти CFG на 2 ТБ.
  5. Распределения CFG никогда не освобождаются.
  6. NtQueryVirtualMemory мучительно медленно сканирует память CFG (около 1 мс на блок) по причинам, которые я не понимаю.

Медленное сканирование памяти CFG фактически исправлено в Windows 10 RS4 (обновление от апреля 2018 года), что заставило меня ненадолго задуматься, был ли смысл во всём этом расследовании. Оказывается, был.

Память


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

Худшее, что я видел до сих пор — это когда моя вкладка Gmail работала в течение восьми дней и накопила 353,3 МБ памяти CFG и 59,2 МБ таблиц страниц для отображения этой памяти, что в общей сложности составляет около 400 МБ. По какой-то причине у большинства людей нет таких проблем или они гораздо мягче, чем у меня.

Решение


Команда v8 (движок JavaScript в Chrome) изменила код таким образом, что он повторно использует адреса для объектов CodeRange, что довольно хорошо устраняет эту проблему. Microsoft уже исправила проблемы с производительностью сканирования памяти CFG. Может, когда-нибудь Microsoft будет освобождать регионы CFG по мере освобождения исполняемой памяти, по крайней мере, в простых случаях, когда освобождаются большие диапазоны адресов. И баг vmmap тоже в обработке.

Большинство пользователей и моих коллег никогда не замечали этой проблемы. Я заметил её только потому что:

  • У меня был включен автономный режим Gmail.
  • Я работал на старой версии Windows 10.
  • Наш IT-отдел регулярно проводит WMI-сканирование наших компьютеров.
  • Я был внимателен.
  • Мне повезло.

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

Кстати, зависания происходили именно в 10:30 утра только потому, что именно в этом время наш IT-отдел запускал соответствующее сканирование. Если хотите запустить сканирование вручную, можете зайти в Control PanelConfiguration ManagerActions, выбрать Hardware Inventory Cycle и нажать Run Now.



Исходный код


Если желаете поиграться, то исходный код VAllocStress и VirtualScan лежит на Github.

Нюансы


В этом расследовании много нюансов. Некоторые из них важные (таблицы страниц), некоторые поучительные (блокировки), а некоторые оказались пустой тратой времени (детали WMI). В следующей статье я расскажу подробнее о них и об ошибке vmmap. Если хотите больше кровавых подробностей — некоторые из которых оказались неправильными или неактуальными — можете следить за расследованием на crbug.com/870054.

UPD. Вторая часть
Поделиться публикацией
Комментарии 161
    +16

    Никогда бы не заметили? Это он зря — зависания на пару секунд без видимых причин знакомы каждому. А вот само расследование интересное.

      +1
      Ни каждое зависание на пару секунд происходит по одним и тем же причинам.
        +2

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

      +43
      Интересно, что бы произошло с хромом, если бы эти люди использовали для разработки 4х ядерные компьютеры вместо 24х ядерных?
        +15
        Хром бы тогда прекрасно работал на 2х-4х ядерных процах и не выжирал бы все ресурсы.
          0
          И вис насмерть на 24-х ядерных :)
          +7
          или одноядерный целерон
            +1
            Шутки шутками, а однажды я закостылял неработающий (зависающий) автотест в браузере добавлением второго ядра в виртуальную машину. По-моему, это был Chrome. Но мне некогда было разбираться, а виртуальных ядер не жалко. При этом оно точно не упиралось в вычисления, просто чего-то ждало.
              0
              Одноядерные юзеры наверняка потом поминали добрым словом!
                +1
                Встретите кого-нибудь из этих троих — передавайте привет.

                Я ещё тогда погуглил и выяснил, что последний истинно одноядерный процессор выпустили на рынок в 2013 году. Даже Atom N270, который прямо сейчас у меня на столе лежит, имеет одно ядро плюс HT. У меня была проблема в том, что не работал автотест. Я проблему закостылил и пошёл дальше, и всем рекомендую решать больше насущных проблем, по возможности не отвлекаясь на общечеловеческие. А пользователям с одноядерными процессорами предлагаю жаловаться вендору.
                  0
                  У меня сейчас стоит процессор 2009 года, правда 4-ядерный. Вместе с RX570 вполне тянет Тарков и многие современные игры. Однако, бум развития это коре2, и они (и их аналоги) до сих пор вполне исправно трудятся в компах. Я еще понимаю сказать про «только 32-битные процы», их век действительно прошел.
                  Более того, до сих пор выпускаются 2-ядерные процы. Уже не 1, но оооочень далеко до i9 и прочих хеонов.
                  • НЛО прилетело и опубликовало эту надпись здесь
                    +1

                    Greenpeace нужно вместо борьбы с нефтедобычей бороться с софтверными компаниями (теми же методами ;) ), тогда новых вышек не нужно будет изза снижения потребления ресурсов :)

              –1

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

              • НЛО прилетело и опубликовало эту надпись здесь
                  0
                  хром на одной локальной машине редко кто теперь собирает, в гугл для распределенной сборки distcc используют
                    0
                    извиняюсь, не distcc, а goma (но суть та же)
                    +6
                    Собирать можно и на 24 ядрах, а вот тестировать как раз на 4-х и 4 ГБ памяти.
                      +4
                      Кстати, очень полезная практика не только для десктопной разработки, но и для микросервисов, когда у тебя на разработческом ноуте 16+ гиг памяти и 4+ ядра, а разрабатываемый сервис живет в облаке на инстансах, каждый из которых с 1 гиг оперативки и 1 ядром.
                        0
                        Нет, тестировать надо на Pentium-е, 32 битном, 1-2 ГБ оперативной памяти и древнейшая видеокарта на 256 МБ видеопамяти. И вообще в FullHD… Вот это будет оптимизация. И да, на этом он *почти* летает (говорю как пользователь таких счетов).
                        0

                        Да глупости про вести разработку на целероне, но как вариант для тестирования норм. Недавно был приятно удивлен запустив на ноутбуке 10 летней давности с Win 7 32bit (x86) на целероне с гигом оперативки хром из коробки.

                          0

                          The Bat и почту/веб в Opera Presto попробуйте для сравнения, они точно не тормозят при наборе писем на одноядерных CPU. Тогда поймёте, что г-хром для зажратых "мажоров" избалованных хорошим "железом" пользователей.

                            0
                            И давно народные i5 стали роскошью?
                              0

                              Сразу, т.к. апгрейд с сокета 775 потребовал бы замены матери, памяти, кулера, "закладок" в биосе и т.д.
                              http://www.wikireality.ru/wiki/Аппаратные_закладки_в_Intel

                                0
                                В процессорах есть закладки, во всем они есть.
                                На все-про-все уйдет до полу штуки, если оставить корпус и бп. Если уже был ssd, то вообще хорошо.
                                Собственно, это опять тот момент когда «было бы желание».
                                –1
                                Вы наверное не в курсе какой нынче курс или у вас зарплата в долларах? 14 тысяч за один только «народный» процессор это как бы больше, чем я отдал в 2011 за весь компьютер (за исключением видеокарты). Еще пару лет назад, до Ryzen'ов, 50% ПК у игроков в Стиме были с двумя физическими ядрами. Так что, полагаю, вы выдаете желаемое за действительное.
                                  +1
                                  Я не спец по рублю и ценам в нем. Думаю что вы забыли учесть инфляцию.
                                  Все же компьютер собирается раз в 3-5 лет, а то и реже, вряд ли это требует колоссальных покупок.
                                  Техника нынче становится все больше для «энтузиастов» и ничего с этим не поделаешь.
                                    0
                                    Мм, я не посмотрел ваше месторасположение. Справочно: рубль стал дешевле в 2 раза. Против инфляции смею возразить, что компьютерные железки становятся дешевле (часть из них — точно), если мы говорим о долларах.
                                    С 2011 я собрал 2 системы. C Core i3-540 переехал на i5-3330 (со сменой матплаты), с i5-3330 на i7-4770 (аналогично). Дальше переезжать некуда без смены ОЗУ. Итого 3 сборки за 7 лет. Единственное, что поменялось с тех пор в моем поведении — я стал покупать компьютерные железки б/у, а не новыми.
                                      0
                                      Против инфляции смею возразить, что компьютерные железки становятся дешевле
                                      Посмотрел цены на i5 в Википедии, по ним ничего не изменилось. Скорее всего, для мат. плат тоже самое, а память вообще подорожала.
                                      У меня с 11 по 18 был 3770 который полностью устраивал до недавнего времени, сборка была мощная. Итого: 2 сборки за 7 лет. Новая должна прослужить столько же.
                                      С 4770 особого смысла переезжать в ближайшие годы нет если сейчас все устраивает.
                          0
                          Не путайте разработчиков и тесты, я не оговорился, именно тесты, даже не тестировщиков ;)
                          +1

                          Возможно, имея компьютер с 4мя ядрами, они, выкачав с утра последние изменения из VCS, не успели бы к вечеру собрать chrome с новыми изменениями.

                            +3

                            Для этого давно уже существует как минимум удалённая сборка.

                              0

                              Ну насколько я знаю, каждая машина разработчика chrome одновременно является таким сервером удаленной сборки. Но учитывая что еще нужна IDE и их любовь к fuzzer'ам и sanitizer'ам думаю все равно в 4 ядра не влезет. Насколько я знаю Google активно участвует в разработке clangd, возможно это поможет им решить проблему с IDE, но все равно необходимость тестирования и отладки…

                                0
                                Насколько я знаю Google активно участвует в разработке clangd, возможно это поможет им решить проблему с IDE

                                всё необходимое для удаленной сборки, тестирования, отладки и пр. уже давно придумано, а в гугле явно есть еще и культура использования этих инструментов. Тем более что хром надо собирать и гонять тесты на нескольких ОС, и какой бы быстрой машинка разработчика не была, несколько серверов могут делать это параллельно
                                  0
                                  всё необходимое для удаленной сборки, тестирования, отладки и пр. уже давно >придумано, а в гугле явно есть еще и культура использования этих инструментов.

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


                                  Тем более что хром надо собирать и гонять тесты на нескольких ОС, и какой бы >быстрой машинка разработчика не была, несколько серверов могут делать это >параллельно

                                  Ну это уже CI/CD и по-моему к теме обсуждения касательства не имеет.

                              0
                              Разве это не повод задуматься об оптимизации кода?
                                +1
                                Неправда, хромиум спокойно собирается на 2-х ядерном Atom 32бит и 2ГБ оперативы за 6-7 часов. (я по глупости поставил на старый нетбук NixOS, а там для 32 бит пакеты самому собирать надо)
                                0
                                Вспомнилась байка о том, что время от времени разработчиков приложения facebook заставляют включать медленный интернет, чтобы тестировать его в подобных сценариях и не забывать, что не у всех есть хотя бы 100 Мб канал.
                                  +1
                                  Это не байка, и не только в facebook.
                                    0
                                    судя по статье все таки байка… неплохо было бы пересадить всех этих горе недопрограммистов из крутых контор на компьютеры которые до сих пор продаются на авито… а интернет… это дело десятое
                                      +2
                                      Современный веб это тормозные свистоперделки для коммерции.
                                        0
                                        предлагаете мне выложить на авито лаптопчик Rein M5? компьютер? компьютер!
                                        даже у меня где-то сетевка валялась для него под rj45…
                                        • НЛО прилетело и опубликовало эту надпись здесь
                                          0
                                          Вот бы еще разработчиков сайтов и программ заставить пользоваться планшетами… Особенно небольшими. Мечты-мечты…
                                            0
                                            Вы зря недооцениваете планшеты. НоНейм планшет резво крутит вебвью, делает кучу снимков и рисует нативный интерфейс. Хотя мой заказчик прямо говорил — Не трать деньги это расходный мусор.
                                              0
                                              Да крутить то крутит, в интерфейсы под виндовые планшеты ни один популярный браузер не смог. Особенно в 8". Если он ещё будет FullHD — то там, видимо, только масштабировать кратно придётся. А уж какие они контекстные менюшки под палец делают… ммм… мечта пианиста.

                                              Хотя нет, мозила не смогла вообще на флешпамяти работать, хром так себе, стринги вот норм. В проц упираются слабо.
                                          +4
                                          На предыдущем месте работы я согласовал с руководством ограничение скорости доступа в Интернет для отдела маркетинга и рекламы на один день в неделю. Весьма действенная мера.
                                            +9

                                            А можно подробности? Польза какая то получилась? Почему?

                                              +7
                                              Могу на спор поставить, что отдел маркетинга и рекламы внезапно узнал, для чего стоит пережимать фотографии с 20 MP до 1,2 MP перед выкладкой на ресурсы. Особенно, если таких фотографий — с десяток.
                                                +3
                                                Какое отношение отдел маркетинга и рекламы имеет к пережиманию фот и вообще к их «весу»? Они даже не обязаны знать что это) Вы фотки сами серваком или админкой клиентской жать не можете что ли? И да, нет смысла обрабатывать как-либо фотки вне контекста. Фотка помещается куда-то, и ваша обязанность сделать обработчик фот так, что бы обработка и контекст были единым целым.
                                                И да, отдел маркетинга и рекламы скажет вам лютое спасибо, если вы прикрутите еще и галочку «преобразовать фон в боке», ну вы же понимаете что мыло жмется в Х-цать раз лучше, так помогите рекламщикам с афигенными фотами и что бы они имели минимальный размер. И заодно прифигачьте водяные знаки и дескрипшены всякие в фотки, поисковики же на это неявно, но опираются до сих пор.

                                                Гонг вопрос: вы чего-нибудь можете вообще сделать вменяемо?) Или опять никак? Или опять рекламщики «виноваты»?
                                                  +1
                                                  У них был штатный интернет-маркетолог, контент-менеджер и SMM'щик. Именно на отделе маркетинга и рекламы лежала задача по созданию контента и распространению его в Интернете.
                                                    –1
                                                    Понял) Кароче «сами виноваты». Как обычно.
                                                      0
                                                      Отчего же? Я никогда не стремился к перекладыванию ответственности и тем более не пытался сотрудников отдела маркетинга и рекламы как-то наказать. Наоборот, я дал им возможность лучше понимать часть их ЦА, а значит лучше выполнять работу. Кроме того, почему-то люди часто забывают, что административные меры иногда работают эффективнее технических и нет ничего зазорного в их применении.
                                                        –4
                                                        Зачем вы вообще общаетесь с «человеком» который использует )))) в своих сообщениях.
                                                          +1
                                                          Пишу я одному, но читает не один. Возможно, мои аргументы подтолкнут ещё кого-нибудь к переосмыслению подходов.
                                                          0
                                                          В итоге они сами следят за размерами фот, причем так и не объяснено зачем оно нужно. В итоге фотки оторваны от контекста, т.е. контекст сам по себе, фотки сами по себе. В итоге рекламщики закатывают солнце вручную.
                                                          Но вы дали им понять на словах «как правильно» ага?
                                                          И что толку с ваших слов? Им полегчало что ли?)
                                                            +5
                                                            Процент отказов снизился, процент вернувшихся посетителей увеличился, конверсия по нескольким показателям увеличилась. Цифры говорят, что это была эффективная мера. Более того, рост показателей был зафиксирован и на других площадках, что говорит о позитивных изменениях в мышлении сотрудников, чего не добиться автоматическим пережатием изображений.
                                                              0
                                                              Более того, рост показателей был зафиксирован и на других площадках, что говорит о позитивных изменениях в мышлении сотрудников

                                                              Что такое "на других площадках"? Эти сотрудники своим друзьям рассказали об экономии трафика, и теперь даже те, кому интернет не замедляли, картинки тоже жмут?

                                                                +4
                                                                Это значит, что наши сотрудники вели активную деятельность в соцсетях, на форумах, сайтах объявлений, сайтах партнёров и т.д. и т.п.
                                                              +3
                                                              Это общая болезнь далеких от компьютеров людей. Скан в тифф да еще бес сжатия, да еще в атаче.
                                                              40 мегапиксельные фоточки, видео бэкграунд на страницах, паралакс с картинками 5-6к.
                                                              Да и типичная установка wordpress или drupal требует доп. настройки для авто. ресайза. Отдельный вопрос отстойный ресайз по умолчанию, который «убивает» хорошие фотографии
                                                        +3
                                                        > Вы фотки сами серваком или админкой клиентской жать не можете что ли?
                                                        >… и ваша обязанность сделать обработчик фот так…

                                                        разберем логически поэтапно:
                                                        Судя по комменту выше, человек ограничил скорость интернет, а это значит, что, скорее всего, его работа связана с администрированием ресурсов. Не разработкой обработчиков фоточек, и не разработкой в принципе.
                                                        И ваше предложение жать фотки «серваком» или «админкой клиентской», кхм, звучит как то бахвальски. Вы же не диванный аналитик. Если вы каждый день прикручиваете подобный функционал, то будь те добры приведите ссылки/мануал где это уже было сделано. Я не встречал подобной функциональности «из коробки», значит это нужно прикручивать отдельно.
                                                        Опять же это не всегда это целесообразно. Я имею ввиду, что не в любой ситуации/организации трудозатраты на внедрение этих нововведений будут выгоднее, чем мера, примененная выше.
                                                          –3
                                                          Судя по комменту выше, человек ограничил скорость интернет
                                                          Этот человек написал какую-то метрику, никому не нужную. Потому что на нее наплевали. Ограничение скорости загрузки — это следствие. Следствие абсолютно невменяемого ПО. ПО оно для людей, а не для программистов. Если ПО пишется для быдлы — то быдла всегда будет бунтовать, не нужно быдлу держать за откровенную быдлу. Чюдес не бывает. В данном случае этот невменяемый человек зачем-то попытался объяснить что фотки — это тяжело. Но он ничего не сделал, что бы облегчить фотки. Вообще ничего. И переложил проблемы. Т.е. он не решил проблемы. Он их переложил. А проблемы как были, так и остались. Более того, насоздавал еще большее кол-во проблем, чем было «до». Вменяемые разбежались сразу же, а невменяемые те что остались на какие-то там метрики все равно глядеть не будут. Выводы.
                                                          то будь те добры приведите ссылки/мануал где это уже было сделано
                                                          Присмотритесь. Оно уже как лет 15 реализовано. Давно. Только вы пользуетесь не тем. Берете фреймворк второй и на нем пилите обработчик изображений. Этим же приложением заливаете обработанные фотки. Задача на неделю. Для вменяемого. Но вы же будете всегда искать готовое. Потому что думать уже не в состоянии. А написать собственные 200 строк уже не можете. И это нормально. Нынешние программисты вообще ничего не делают и проблем не решают.
                                                          Если сильно подумаете на что вы неспособны по-определению, то вообще админки будете собирать на опен-джи-еле. Вам даже обертки на шарпе давно выдали. И вы не в состоянии быстро подгрузить фоток в приложение, покрутить/обрезать и отправить на сервак? Вы на календарь давно смотрели? 2018 год как бы. А вы не в состоянии порезать и осветлить фотки? Быстро. Без геморроя. Не? Никак?
                                                          И главное же для этого нет ничего ага? Ну вот принципиально нерешаемая проблема.

                                                          А между тем шел 2018 год. Решений нет. Ага. Собрать свое религия не позволяет. Ну что поделать… Так и живем. Колхоз-интертейнмент.
                                                            +1
                                                            Я всего лишь хотел донести до вас мысль что человек решил задачу «как смог» и для него это оказалась «действенная мера». Не создавать ненужную задачу и не писать её неделю, а быстро и действенно. Просто вы видите проблему со другой стороны, со стороны программиста. Для вас всё решаемо, вопрос только в знаниях и времени на написание программы. Бизнес, к сожалению, оперирует другими понятиями изначально и методы, затрачивающее меньше времени и сил, приветствуются.
                                                            Пожалуйста, держите себя в руках, не переходите на оскорбления, это не выставит вас лучше. У меня всё в порядке со способностью думать. Похоже же у вас горит от моего комментария, давайте закончим.
                                                              +4
                                                              И переложил проблемы. Т.е. он не решил проблемы. Он их переложил. А проблемы как были, так и остались.

                                                              Он не переложил проблему, а подтолкнул решать ее того, кто ее должен, но не хочет, решать.
                                                                +6
                                                                А потом вдруг оказывается:
                                                                — а сделайте нам сводную табличку в экселе,, мы менеджеры по продажам, а не программисты, мы не должны знать, как эксель работает
                                                                — а отформатируйте нам табличку, мы менеджеры по продажам, а не программисты, мы не умеем
                                                                — а напишите на формулу sum(a1:a155), мы менеджеры по продажам, а не программисты, мы не умеем

                                                                И да, это утрированно-обощенные обращения от реальных менеджеров по продажам в наш отдел. Ибо люди привыкают, что можно свои обязанности переложить на IT, вместо того, чтоб научиться делать самим.
                                                                Ок, в этом случае товарищ должен был бы попросить выдать премию за увеличение конверсии и прочие параметры — ему за счет депремирования интернет-маркетологов и прочих с ними, которые. Ибо именно его действия позволили принести прибыль в контору.
                                                              +5
                                                              Вы фотки сами серваком или админкой клиентской жать не можете что ли?

                                                              Реально ОЧЕНЬ стрёмный вариант, когда реально понадобилась большая картинка с какой-нибудь схемой, а из-за козла с админскими правами сервер всё пережал до вырвиглазно мелкого состояния. :(
                                                                –1
                                                                Согласен. Стремный) Сам через это прошел. Давно.
                                                                И как бы я не крутил и не вертел решения — ничего нет. С браузера убежали еще лет 10 назад. В админке с браузера что-либо сделать с картинками не представляется возможным вообще.

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

                                                                Автоматического определения фота это или не фота у нас нет. Но т.к. 99% заливают фоты а не схемы, то пока такой проблемы не стоит вообще. Как появится — решим и это) Тем более оно не сложно. Т.е. эти два действия и выбор формата можно убрать. Например тупым выбором: фотка/схема.
                                                                При наведении на пункт «фотка» можно так и написать — для фоток, это когда изображение фотографическое, и при наведении на пункт «схема» можно написать что изображение преимущественно из линий, фон однородный.
                                                                Юзер сам выберет уже в одно действие в чем сохранять и нажмет «аплоад». Этого достаточно.
                                                                0
                                                                Потому что когда маркетологи хранят все макеты исключительно в письмах, а мактеты занимают по 50-100 мб, и в почтовом ящике по 20-30 редакций одного и того же макета, тебе хочется уже как-то отшлепать и заставить прочитать инструкцию про давно выделенную для этих нужд в компании самба-шару или фтп сервер, инструкциями о котором ты уже не первый год спамишь, но все их игнорируют.
                                                                  +4
                                                                  И правильно делают) Потому что ваш самба и прочая ламбада им не удобен. Вот и все.

                                                                  Как бы вы не крутились — они будут делать как им удобнее и понятнее.

                                                                  А вы сами этой своей ламбадой часто пользуетесь? Спросите себя почему не часто) Получите ответ. Много действий. Половина из них не понятна. Проведите соц.опрос — получите подтверждение.

                                                                  Сделайте понятно и просто для людей — будут пользоваться.

                                                                  Иначе никак.
                                                                  • НЛО прилетело и опубликовало эту надпись здесь
                                                                0
                                                                Именно так. Последней каплей стала публикация на главной странице сайта анимированного gif-банера с разрешением 1000x500 в несколько десятков мегабайт весом. Сначала я доработал сайт так, чтобы админка отображала среднее время загрузки страниц, но они просто игнорировали эту метрику. Была мысль выставить ограничения на размеры загружаемого контента или добавить автоматическое пережатие. Но потом я понял, что это борьба не с причинами, а следствиями.
                                                                  +2
                                                                  чтобы админка отображала среднее время загрузки страниц, но они просто игнорировали эту метрику
                                                                  Вы не можете написать по-русски — «будет тормозить!». Не? Никак?)

                                                                  Послушайте, то что вы пишете — это гавно. По очень простой причине. Кампутер для того, что бы решать проблемы не задумываясь. Вы же зачем-то заставляете думать. В идеале, и к нему нужно стремиться — должна быть одна волшебная кнопка. И все. Например «аплоад». Этого достаточно. А лучше вообще без кнопки. По щелчку пальцев. Но пока оное реализовать достаточно проблематично. Это я про «пальцы».

                                                                  Ваше ПО должно само разгребсти весь ворох медиа-контента с прицепленного фотика. САМО, понимаете?)

                                                                  Вы же сделали следующее: вы неимоверно увеличили кол-во операций. Искусственно. Зачем? Вы заставляете куда-то смотреть, зачем-то, что-то анализировать. Затем принимать решение. Переделывать. Опять анализировать переделанное. И т.д. Вы можете объяснить, зачем вы пишете такое монструозное ПО? Оно кроме вас никому не нужно. Потому что оно не решает проблем. Оно как раз таки наоборот — создает неимоверное кол-во проблем.

                                                                  Вы объяснитесь хоть как-то) Зачем вы это делаете?
                                                                    +2
                                                                    Компьютер для того, чтобы помогать человеку делать больше работы за меньшее количество времени, а не для того, чтобы меньше думать. Впрочем, за 5 лет работы в той компании мне удалось автоматизировать многие аспекты работы каждого из отделов, что в конечном счёте позволило уволить множество сотрудников, которые не умели или не хотели думать.

                                                                    Я делаю то, за что мне платят. А платят мне, если отбросить все нюансы, за увеличение прибыли.
                                                                      –3
                                                                      Мда… Похоже этой стране уже совсем «помочь» нечем…
                                                                        +4
                                                                        Вот извините, но по вашим сообщениям видно, что вы человек который привык сваливать на других, кто то должен думать, кто то должен прикручивать, кто то должен… А я? А я ни о чем задумываться не хочу, хочу что бы работало. И именно ограничение интернета сотрудникам подобного плана позволило их хоть как то расшевелить. Ваше возмущение вполне понятно.
                                                                      +5
                                                                      Важный момент заключается в том, что те, кто ответственны за работу с клиентами, очень часто плюют на тот факт, что не у всех 100 мегабит и топовая видеокарта. В случае торговых бизнесов, это регулярно приводит к тому, что до покупателя информация не доходит или доходит в таком виде, что он плюет и идет к конкурентам. Именно эту проблему и решил TheDeadOne. Проблема, в данном случае, находится не в том, что кому-то лень автоматически жать фотки, а в том, что люди, ответственные за работу с клиентом, понятия не имеют, в каких условиях находятся их клиенты и не представляют, нравится и нужно ли им вообще то, что эти самые ответственные делают.
                                                                      Как раз «низведение» до среднестатистического пользователя, грамотно обоснованное не под соусом «спуститесь с небес на землю», а под соусом «так легче понять среднего клиента», может очень качественно увеличить эффективность работы во многих сферах, о которых даже не подумаешь. Иными словами, вместо того, чтобы перестраивать инструменты, которые будут исправлять последствия неправильного мышления, человек перестроил людям мозги на правильное мышление. Тех. средства тоже будут полезны, но главная работа уже сделана.
                                                                        –2
                                                                        Да ничего не сделано) Рекламщики как не жали фотки так и не жмут. Потому что не умеют. Они вообще не понимают что это. И не обязаны понимать.
                                                                        Ну вы что правда думаете, что сидит рекламщица Люсия, и она подгоняет размер фоты и качество фоты, что бы размер в пикселях был максимальным, качество не улетело, а размер в байтах был минимальным? И может быть она из по функции трех переменных экстремум найдет?))))) Слушайте, вы сами на это способны? И сколько у вас на это уйдет времени? А рекламщица Люсия даже и не поймет что от нее хотят. Вообще никогда.

                                                                        Ну сожмет она как-то там. И что?) Это будет оптимальное сжатие исходя из размеров фотки в пискелах — качестве — размере в байтах? Да не смешите.
                                                                          0
                                                                          Можно настроить фотошоп на работу по макросам на те же типовые действия, под которые вы пишете свое ПО. Инженер не пишет программу на каждый чих, он решает задачу. И написание своего велосипеда — это только один из вариантов.
                                                                            0
                                                                            Не получится.
                                                                            Фотошоп — не вусивуг. Вообще ни в одном глазу.

                                                                            Когда вы поворачиваете фотки — фотошоп не показывает сразу как вы их поворачиваете. Фотошоп не может содрать фон сайта и подложить под фотку. Обрабатывать фотки иначе — бред сивой кабылы. Фотка ВСЕГДА имеет контекст. У фотошопа его ж нет, там тупо сильно притемненный фон. Какой смысл править фотку под этот фон, если у вас сайт белый? Как автоматически стащить фон сайта в фотошоп в подложку? Как сообразить аплоад в фотошопе на сервак? Как в фотошопе сохранять автоматом копии оригиналов фот? Как в фотошопе получить матрицу преобразования фотки? Как в фотошопе рассчитывать функцию из нескольких переменных, исходя из размеров и качества?
                                                                            И еще, в фотошопе должно быть например два поля под подписи фотки как на сайт, так и внутрь фотки.

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

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

                                                                            И не пишем мы никакое ПО) Оно написано 10 лет назад. Лет пять назад подправилось и то нехотя, до сих пор и юзается как есть. Падать нечему, все ж примитивно. Править нечего.

                                                                            И с фотошопом даже на уровне макросов я бы связываться не стал даже потому, что каким-нибудь упырям придет в голову язык макросов «чютка подправить», а значит придется править и макросы. Они же не могут сделать и успокоиться) А значит эта фигня рано или поздно перестанет работать. А оно мне надо вообще?

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

                                                                            Тем более возможны некоторые места, где ПО исключительно платное. У нас нет таких клиентов) Все воровано. Но это же не значит, что таких клиентов не будет. И что я им предложу? Купите фотошоп? Однако…
                                                                              0
                                                                              Какой смысл править фотку под этот фон, если у вас сайт белый? Как автоматически стащить фон сайта в фотошоп в подложку?

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

                                                                              Но все описанное — оно достаточно тривиально решаемо самостоятельно

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

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

                                                                              Тем более возможны некоторые места, где ПО исключительно платное.

                                                                              Так это ваши интимные проблемы. Вы же агритесь на других, что они, мол, не умеют и не хотят работать так как вы. А на деле выходит, что у вас какие-то свои условия и какие-то свои задачи.
                                                                            +4
                                                                            Что ж, возможно, что у вас в компании рекламщица Люся и работает. Когда мне поработе нужно взять фотографии и информацию о продукте, наши не самые умные, на мой взгляд, рекламщики чудесно говорят мне какое разрешение и формат у нас принято использовать, дабы все было хорошо. Личный опыт у каждого свой. Идиотов такой способ думать не научит, а нормальных людей, которые просто не задумывались над вопросом (а таких большинство), это приучит обращать внимание на такие вещи.
                                                                    0
                                                                    Значительная часть нашей ЦА осуществляла доступ к сайту на скоростях 128-512 килобит, но сотрудники, чьей основной задачей является взаимодействие с ЦА, учитывать интересы последних даже не пытались.
                                                                  +1
                                                                  В браузеры уже относительно давно завезли троттлинг канала. Мобильная эра как никак
                                                                    0

                                                                    И даже не в 100мбит дело, а в ping-е :)

                                                                    –1

                                                                    ну, кстати, кстати… этот самый 24-х ядерный процессор в значительном количестве десктопных сценариев как раз уступает любому 4х ядерному ввиду значительно более низкой частоты ядер, а как мы знаем, почти весь десктопный будничный софт не использует сколько-либо существенное количество ядер, чтобы преимущества 24 перевешивали.
                                                                    Я сам с этим столкнулся, имея 14-ядерный Xeon. Именно в разработке он шикарен: мне нужна VS с решарпером, виртуалка с МакОсью, эмулятор ios (да-да, я мазохист, пишу под ios из-под винды, даже не имея мака) и прочие приблуды. Но просто в том же голом хроме… и некоторых других банальных задачах 3,0ГГц — далеко не предел мечтаний, и даже порой вспоминаю, как оно было даже лучше на 4х Сэнди @4,5ГГц

                                                                      0
                                                                      эмулятор ios

                                                                      А такие есть? Эмуляторов Android полно, а вот iOS не видел. Не поделитесь названием продукта?
                                                                    +10
                                                                      0
                                                                      12309 похлещще фак ю нвидии будет. Особый треш это гибридная графика.
                                                                    0
                                                                    «выкинь» хром
                                                                      +6
                                                                      оригинальный совет разработчику хрома
                                                                        +3
                                                                        кто то должен ему сказать )))))) может что иное и создаст.
                                                                          +1
                                                                          может что иное и создаст.

                                                                          В XXI веке создание «иного» начинается с форка хрома (Microsoft форкнул Trident, но это исключение).
                                                                            +1
                                                                            а фаерфокс форкать уже не комильфо?
                                                                              0
                                                                              Потому что ФФ это шлак, простите. И с каждой версией они умудряются ещё хуже сделать. По мне оптимальная была версия 3.5, и с кучей дополнений 700 табов фф умещались в 2 гига рамы. А сейчас что? Потребление памяти хуже чем в хроме, только утечки никак исправить не могут и тормозит гораздо сильнее.
                                                                              А как они интерфейс испортили? «у конкурентов лучше, возьмем худшее у них и сделаем свой особый путь».
                                                                              У меня что дома, что на работе аптайм хрома — месяцы, фф — максимум 2 недели, потом или сам упадёт или снимаю чтобы освободить от утёкшей памяти.
                                                                                +5
                                                                                По мне оптимальная была версия 3.5, и с кучей дополнений 700 табов фф умещались в 2 гига рамы. А сейчас что?
                                                                                А вы откройте сейчас эти же 700 табов в фф 3.5 и посмотрите…
                                                                                  0
                                                                                  Проблема в том числе в сайтах, я знаю. Но — просто открыть 100 хабров в последнем фф и 3.5 — в 3.5 это будет не более 2 гигов, фф съест гигов 10 если не больше. Ну и текучесть всё-таки присутствует.
                                                                                  0
                                                                                  аптайм хрома — месяцы

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

                                                                                А как же WebRender?

                                                                                  0
                                                                                  K-Meleon 76.0… быстр
                                                                                    0

                                                                                    и построен на 38 Файрфоксе? Ну это не серьезно. Сейчас такие браузеры живут за счет 11 ИЕ. Как только его процент упадет ниже критического значения и поддерживать его не нужно будет, вместе с ним отвалятся (на большинстве сайтов, где идет активная разработка) и все эти К-Мелеоны, СиМанки и ПалеМуны.

                                                                                      0
                                                                                      Уже давно как не на 38 Gecko, но на Goanna, который ≈ 56 версии Gecko, что устаревшим назвать пока трудно. При чём тут ИЕ — загадка.

                                                                                      Много ли сайтов на древней Опере не работает?
                                                                                        0

                                                                                        Быстрое гугление показало, что 76 версия на 38 Gecko, но если это не так — то хорошо.
                                                                                        "Много ли сайтов на древней Опере не работает?" — так то я этой Оперой не пользуюсь, но сейчас установил и попробовал несколько сайтов. На большинстве как минимум лезет верстка (github, gitlab, apple, habr), некоторые совсем неюзабельны из-за сломанного JS (airbnb, privat24, babel-repl). Конечно, если сайт разрабатывался еще в начале 2010-х или раньше, то там все будет работать, но ведь время идет и новые разработки не поддерживают такие браузеры.

                                                                                          0
                                                                                          Там с версиями путаница, никто ведь толком проект не координирует, так что как бы есть и «вроде как официальная» на том самом гекко, и неофициальные. Ситуация путанная, так как фактически официальная устарела и приходится неофициальные считать актуальными. А номерами версий никто не озаботился, видимо ждут хоть какой-то реакции от самого разработчика, а её всё нет и нет.

                                                                                          Но по крайней мере в википедии факт наличия версии с гоанной указан.

                                                                                          Гуглить (при заинтересованности) лучше по конкретным сайтам, или официальному kmeleonbrowser.org/forum/read.php?19,143253 или в ветке forum.geckoworld.ru/index.php/topic,241532.0.html (как вариант — на forum.mozilla-russia.org/viewtopic.php?id=67737&p=5 или на руборде ( forum.ru-board.com/topic.cgi?forum=5&topic=49147&start=1040 )

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

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

                                                                                          Есть опасение что с возможным падением популярности Firefox скоро сайты будут поддерживать нормально лишь хром, ведь даже сейчас уже есть какие-то (временные?) проблемы на ютюбе
                                                                                            –1

                                                                                            Если поддерживать Хром — это поддерживать все новые стандарты, то я не против таких перспектив. Пока что я не встречал нормальных аргументов против текущей ситуации (когда разработчики ориентируются на Хром в первую очередь). Конечно, это не значит, что нужно забивать на остальные вечнозеленые браузеры, то есть нужно поддерживать 2-3 последние версии каждого из основных 4 браузерных вендоров (движков). Но если есть какая-то фича языка, которая позволяет легко добавить функционал или упрощает разработку, то не вижу смысла отказываться от нее только потому, что ее поддерживают 2 из 4 движков (если в остальных можно использовать полифиллы). Да, полифилл может быть медленным, но кто виноват разработчикам Файрфокса, что они до сих пор не включили Веб-компоненты по умолчанию? Или может всем остальным нужно остановиться и подождать разработчиков из Майкрософт, которые даже не начали имплементацию Веб-компонентов в Эдж (и поэтому там будет более тормозной полифилл)?

                                                                                      0

                                                                                      Только если у вас нету современного GPU и одноядерный процессор.

                                                                            +7
                                                                            Открыл таск менеджер, посмотрел на вкладку гмайл сожравшую с утра 550мб. Складывается впечатления, что в гугле гмайлом таки не пользуются.
                                                                              0
                                                                              Просто у них у всех компы с минимум 16Гб оперативки
                                                                                0

                                                                                У них локаль другая :)
                                                                                А серьёзно это очень влияет, андроид 7.1 голый просто падает в некоторых "экранах" из-за кривого подхода к локализации, также многие телефоны обретают исключительно киррилияеские глюки (судя по симптомам — утечки памяти).

                                                                                +3
                                                                                у меня в фоне работает UIforETW и отслеживает циклические буферы
                                                                                UIforETW не «отслеживает циклические буферы», а пишет события системы в циклические буферы.

                                                                                В оригинале:
                                                                                I had UIforETW running in the background, tracing to circular buffers
                                                                                  +3
                                                                                  Судя по «непрямым ответвлениям» вместо «косвенных переходов», статью переводил гуглтранслейт.
                                                                                  +2
                                                                                  Почаще бы программисты пользовались бы софтом над которым работают, этож насколько мир мог бы быть лучше.
                                                                                    0
                                                                                    Вот я так уже 15 лет говорю 8)
                                                                                      +5
                                                                                      зачем ты 15 лет говоришь «8»?
                                                                                    +3

                                                                                    " Если хотите запустить сканирование вручную, можете зайти в Control Panel → Configuration Manager → Actions, выбрать Hardware Inventory Cycle и нажать Run Now."
                                                                                    Автор забыл что SCCM стоит не на каждом компьютере

                                                                                      0
                                                                                      Плюсую. Ибо сам с сонных глаз кинулся искать :).
                                                                                      +3
                                                                                      Сплошные проблемы с этим 24 ядерным процем — то мышь не двигается, то почта, то просто тормозит… пожалуй не возьму :)
                                                                                        0
                                                                                        А известно ли, почему Google Chrome так долго стартует, даже на очень мощном компьютере?
                                                                                          0
                                                                                          Чтение кэша с диска. Поставил ссд — тормоза при запуске убрались сразу. Причем размер не особо большой, просто файлов много.
                                                                                            –1
                                                                                            SSD тоже жалко. Я ему под кэш отдал полтора гига оперативки.
                                                                                              +3
                                                                                              Да бросьте вы. ССД это расходный материал. У меня за 5 лет ни один ССД с самой простой памятью не сдох, при этом в сути туда ходит человек 20 по удаленке и 100-200 гигов данных.
                                                                                              Мой личный рабочий комп с 128 ССДшкой живет уже седьмой год при условии что я его сношаю и в хвост и в гриву.
                                                                                              Про цены я понимаю, жалко денег, но когда получаешь увеличение скорости существенное — понимаешь что становится не жалко.
                                                                                              Хотя дома я только в прошлом месяце сменил хдд на ссд, именно ради хрома (:
                                                                                          +7
                                                                                          Джимэйл плохеет на глазах. Вот уже и тупые интерфейсы подвезли, белое на белом выделяем белым. Но текст все еще серый, есть над чем работать высокооплачиваемым уберпрограммистам гугла.
                                                                                          Поделка тормозит, жрёт память и портит нервы? Не беда! Зато мы идеально знаем, почему люки круглые и разворачиваем строку на белой доске за любое О.
                                                                                            +3
                                                                                            Ну, материальный дизайн на любителя, мне раньше тоже не нравился, сейчас норм, не шедевр конечно, но во всяком случае лучше дизайна майкрософта, где только однотонные прямоугольники.
                                                                                            А вот тормозят их продукты с каждым обновлением всё сильнее, да, на моём pentium 3825U с 2 Гб рамы это очень ощутимо. Тот же ютуб просто перевели на новый ангуляр, сделали материальный дизайн и добавили пару анимаций и он стал жрать больше памяти и медленнее работать. Для другой компании можно сказать мол «у них нет много денег на крутых программистов», но для компаний уровня гугла такое, имхо, не простительно.
                                                                                            Кстати, про люки не спрашивают уже, я в конце мая собеседовался(не прошёл), таких идиотских вопросов не было.
                                                                                              0
                                                                                              Я в последнее время просто вставляю ссылку в PotPlayer. Тут и аппаратное ускорение, и управление удобное, и поверх всех окон умеет, в том числе и браузера.
                                                                                                0
                                                                                                Т.е. смотришь видео с YouTube через него?
                                                                                                  0
                                                                                                  Ну да.
                                                                                                    0
                                                                                                    //Не сарказм…
                                                                                                    Афигеть, это же гениально!
                                                                                              –1

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

                                                                                                0

                                                                                                Яндекс

                                                                                                  0
                                                                                                  На хабре есть статьи с контекстом «почта Яндекса — не пользоваться никогда (ибо черевато огромной болью и проблемами)»
                                                                                                    0
                                                                                                    А конкретные аргументы? Уж сколько лет — больше 10 пользуюсь им.
                                                                                              0
                                                                                              Огромное спасибо! помогло.
                                                                                                +4
                                                                                                Когда программа Windows перестаёт передавать сообщения

                                                                                                Неверный перевод. На самом деле имеется то, что программа не должна допускать слишком больших задержек между чтениями очереди системных сообщений (message pumping), иначе пользователь будет наблюдять «подвисания», потому что во время обработки следующего сообщения в одном и том же потоке графический интерфейс приложения не обновляется, и приложение не реагирует на ввод пользователя.
                                                                                                  +2
                                                                                                  Перевод вообще какой-то… своеобразный… Прежде чем переводить предложение, желательно его понять. А как понять "… у меня в фоне работает UIforETW и отслеживает циклические буферы.."? Чьи буферы он отслеживает? "… отпускающий блокировку на этот стек.." — на стек, или всё-таки на стеке (находясь на)? В полном соответствии с известным афоризмом непонятные термины (sparse — разреженный) просто опущены. Правильно, текст же полностью сохраняет смысл и без них…
                                                                                                  –4
                                                                                                  Пора пересадить всех разработчиков браузеров и сайтов на 2 ядра @ 2 гига (а лучше 1 ядро и 1 гиг), пусть делают что бы там не тормозило, иначе так и будет. Функционала то принципиально за 10 лет не сильно прибавилось, а вот системные требования возросли на порядок.
                                                                                                    +3
                                                                                                    «Не прибавилось...»
                                                                                                    Вы шутите?
                                                                                                    Сравните хотя бы просто объемы сайтов (html+скрипты+стили+изображения в килобайтах/мегабайтах) 10 лет назад и сейчас.
                                                                                                    А потом ради интереса откройте спецификации веб-стандартов и языков тех времен, и сегодняшние, и сравните, опять же, объем и количество деталей.
                                                                                                    Сильно удивитесь.
                                                                                                      0
                                                                                                      о том и речь что «объёмы сайтов» растут непомерно. Норма, когда сайт подгружает десятки мегабайт всякой шелухи.
                                                                                                      Спеки конечно выросли, технологии на месте не стоят, но что действительно полезного добавили? html5 со встроенным видео и неотключаемой рекламой (пока flash) и… всё? Я несколько не в теме, так что просьба перечислить.
                                                                                                      И основная проблема именно в разработчиках сайтов, а не новых спеках, имхо.
                                                                                                        +1
                                                                                                        Ранее сайты собирали на коленке, ну т.е. в блокнотике. И это было хорошо.
                                                                                                        Потому что человек когда писал например вот такое:
                                                                                                        <див class=«fgh»>
                                                                                                        <див>
                                                                                                        <что-то></что-то>
                                                                                                        </див>
                                                                                                        </див>,
                                                                                                        то он понимал что он делает и зачем, понимал за каждый блок. И лишнего не вставлял — зачем?)

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

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

                                                                                                        И еще оно модно стало ездить и меняться) Транзишены появились. Но никто вменяемо прикрутить транзишены не способен. Даже яндыкс. Поглядите например в хроме как яндыкс свой говно-дзен рендерит на транзишенах. В хроме это можно легко посмотреть.
                                                                                                        Тут конечно диву даешься, насколько колхозно оно писано. А впрочем так везде.

                                                                                                        В тулсах там поглядите рендеринг, запустите фпс-метр, и обводки на репаинт.
                                                                                                        Этих дебилов из яндыкса можно строем выводить и расстреливать. Бесполезные существа.

                                                                                                        Собственно такая вот непотребщина и жрет ту же память ведрами. Ничего удивительного тут и нет.
                                                                                                        0

                                                                                                        Gmail-ом пользуюсь с того времени когда в нём регестрировали по приглашению, из вункционала прибавилось каталогизация и метки, плюс когда-то очень давно google-talk(hangouts) добавили, именно функционала чтото больше не припомню, но раньше он работал в браузере windows mobile 6, с, если не ошибаюсь, 128 mb оперативки.

                                                                                                          0
                                                                                                          Справедливости ради — человек сказал «функционала», а вы несколько о другом.
                                                                                                          Например, у нас есть 2 сайта — один хтмл1 с меню в виде гиперссылок, другой — с выпадающим на скриптах. Функционал — одинаковый — и там и там меню, но второй вариант — тяжелее. Я не говорю, надо делать так или эдак, просто по факту — то же по сути действие стало более тяжелым. Или, например, функционал типа «лента» — в хтмл1 мире это был бы набор страниц, с N элементами на каждой. При этом на конкретную страницу можно было дать/созранить ссылку. Теперь это динамически подгружаемая шляпа, которая пополняется при прокрутке донизу, и ссылку на конкретный диапазон можно дать не всегда. Да, понятно, что это нужно из-за мобильной платформы и так далее, но опять же — тот же функциоал стал тяжелее.
                                                                                                        0
                                                                                                        По-моему пару лет назад я уже читал здесь же эту статью. За это время ничего не поменялось?
                                                                                                        0
                                                                                                        рутинных поездок
                                                                                                        — кажется, не очень удачный перевод, но как перевести commute methods — не знаю
                                                                                                          0
                                                                                                          Это просто рабочий вариант обычного обсуждения рутинных поездок
                                                                                                          Clearly just a normal work-related discussion of commute methods

                                                                                                          «Обычная рабочая дискуссия о способах добраться до офиса».

                                                                                                          А в строчке выше, «у кого больше опыт работы со Scuba» — это на самом деле «у кого больше опыт ныряния с аквалангом».
                                                                                                            0
                                                                                                            1. Про офис в оригинальном тексте ничего нет.
                                                                                                            2. Судя по всему, это рабочая переписка, так что можно предположить, что речь идёт об опыте работы с нестандартной СУБД (Scuba от Facebook), а не о нырянии с аквалангом.
                                                                                                              0
                                                                                                              В оригинале со слов «commute methods» стоит ссылка на блогпост про сотрудника гугла, добиравшегося до офиса вплавь.

                                                                                                              Очевидно, что переводчик (как и вы) даже не попытался разобраться, что в тексте имеется в виду (рабочая дискуссия о СУБД Scuba? а при чём здесь поездки?) — какая разница, ведь про офис в оригинальном тексте ничего нет, так что хуяк-хуяк, опубликовать перевод.
                                                                                                                0
                                                                                                                Вы правы, переводчик совсем обленился. Говорит, что даже не посмотрел внимательно видео по ссылке. Надо лишить его премии. Спасибо за замечание!
                                                                                                          0
                                                                                                          Автор не раскрывает модель своего процессора, но скорее всего там что-то вроде Xeon® E7-8890. Частота в самом лучшем случае 3.4.

                                                                                                          Странно жаловаться на производительность имея средний процессор. Да, да, это так. Даже не уверен что он дотягивает до 3770 по скорости ядра, не говоря уже про 8700k на 5.0. Еще на таком количестве ядер могут быть проблемы с синхронизациями и так далее.
                                                                                                          Именно поэтому новые i9 никто не покупает для игр и обычных задач где наиболее важна производительность одного ядра.
                                                                                                            0

                                                                                                            Блин а у меня 2.8, поэтому наверное нет хрома :)
                                                                                                            Конечно все нищеброды со слабыми процессорами должны вводить символы с перерывами :)

                                                                                                              0
                                                                                                              Тут тот случай когда «было бы желание».
                                                                                                              Если 2.8 в базе то они разгоняются до 3.8, скорее всего.

                                                                                                              И да, gmail и youtube последних версий непомерно перетяжелены, так делать нельзя, конечно.
                                                                                                                0

                                                                                                                Ради чего разгон? На этом процессоре шести(вроде) летней давности вполне себе хорошо работает нормальное ПО, несмотря на в 3 (наверное) раза меньшую производительность на такт, наверное я не принадлежу к категории людей покупающих новинки только за новизну, как-то другие приоритеты :)

                                                                                                                  0
                                                                                                                  Каждому свое.
                                                                                                                  Быстрый процессор радует тем что все летает. Та же IDE на ноуте может запускаться и индексировать проект под 3 минуты. На 8700k это происходит за 15 секунд.
                                                                                                                    0

                                                                                                                    Наверное зависит от того что за ide, что за проект, у кого-то на работе основным тормозом мешающим комфортно решать задачи может быть шкаф exadata/стойка ibm-вских power-ов где-то в одном из ЦОД-в компании. У каждого действия есть своя цена, ничто не мешает написать софт тормозящий на чём угодно, мне не раз приходилось видеть выжирающие все ресурсы хранилища "не оптимально" написанные запросы с последующими героическими попытками решения проблемы делением на части и т.п., пример в статье весьма в эту тему.

                                                                                                                      0
                                                                                                                      IDE — PHPStorm. Ее тяжесть обуславливается функционалом, собственно, это самый топ для разработки.
                                                                                                            0
                                                                                                            >>В какой-то момент я посмотрел на процесс Gmail с помощью vmmap и заметил, что процесс Gmail занимает немало памяти (361 836 КБ)
                                                                                                            С грустью вспомнил первый пень и 32Mb, на которых даже летали яркие красочные Worms Armageddon, которые в разы сложнее всего лишь почтового клиента.
                                                                                                              0

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

                                                                                                                0
                                                                                                                Ну, если пользователь готов за это заплатить…
                                                                                                                +1
                                                                                                                Я работал на старой версии Windows 10.

                                                                                                                Пойду поплачу…

                                                                                                                Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                                                                                                Самое читаемое