Pull to refresh
33
0
Вадим Петров @Lof

Программист

Send message

Мы работаем над тем, чтобы поддерживать Windows 7 - 8.1
В прошлый раз, когда Chrome отказался от поддержки Windows XP, мы еще год продолжали его поддерживать: https://browser.yandex.ru/blog/windows-xp

Мы проверили, эта технология от Nvidia работает и у нас в новой версии браузера, которая будет выходить на следующей неделе.

1. Все слепки шифруются и сжимаются.
2. Мы не сохраняем вкладки интернет-банков.
Не понял вопроса. Можно посмотреть в Диспетечере задач браузера, там они сгруппированы по процессам.
На то очень много причин :)
Каждый день нам приходят жалобы, что такой-то сайт занимает очень много памяти.
Да, в большенстве случаев это происходит из-за каких-то проблем на сайте.
Вот я сейчас открыл сайт мегаплана и у меня он занимает 136мб:

Как видно, на сайте есть и видео с ютуба и много JS и прилично картинок.

Но и сами браузеры имеют большой потенциал для оптимизаций, над чем мы и работаем!
PS. Скоро мы расскажем об одной интересной проблеме с GC V8 и как мы смогли ее решить.
1. В файл подскачки идет память процесса, а там много лишних данных. Наш снепшот занимает в 5-10 раз меньше места. Это быстрее, особенно на HDD.
2. Браузер гораздо лучше, чем ОС, понимает, какой процесс можно освободить.
3. Мы работаем превентивно и не даем системе «уйти в своп».
4. ОС может загрузить из свопа из-за необязательной фоновой активности.
Hibernate просто не станет выгружать из памяти страницы с подобными плагинами, чтобы ничего случайно не сломать.
Ошибку в action_wait.cc сразу поправили:
https://codereview.chromium.org/2453783002
Это не взлетело даже у гугла. NaCl
Боюсь, chrome всегда будет отставать от safari. Дело в том, что chrome имеет универсальную архитектуру, которая работает на множестве платформ.
Safari же заточен под OS X. Не даром они не смогли поддерживать его под Windows и закрыли проект.
Но есть одна настройка, которая увеличивает плавность скроллинга в chrome. Надо зайти на chrome://flags и включить GPU rasterization для всех слоев:

image
Корректный ответ — когда как. В данном случае — да.
На самом деле, у них есть аргументы за оптимизацию по размеру кода.
1) Размер бинарника увеличивается на 25%, а значит пользователям больше качать.
2) Меньший по размеру код более cache-friendly.
В общем, они пока решили все не оптимизировать по скорости. Можешь с ними поспорить вот тут https://bugs.chromium.org/p/chromium/issues/detail?id=548457 :)
Он уже на SSE (xmm это SSE регистр). А вообще у них уже все эти реализации есть: https://code.google.com/p/chromium/codesearch#chromium/src/third_party/skia/src/core/SkOpts.cpp&l=108
Не совсем понятно про какие компоненты идет речь.
Но если предположить, что про что-то простое типа css свойства opacity, то тут надо немного рассказать как хром рисует веб-странички.
Предположим, что у вас есть страничка с двумя статичными полупрозрачными изображениями.
Хром ( а реально WebKit ) заранее просчитает финальную картинку, которая получается при смешивании этих двух статичных картинок и браузер уже нарисует финальную картинку.
Однако, если что-то поменяется, надо будет перерисовать опять всю финальную картинку.
Чтобы этого избежать, придумали слои. JS разработчики могут на это явно влиять через will-change свойство css. А раньше для этого часто использовали transform z = 0.
В этом случае, WebKit отдаст браузеру две картинки, и он их смешает сам. С помощью skia.
В первом случае бага не будет. Потому что там будет использован код WebKit'а.
Во втором случае баг может быть.

А еще может все дело в том, что использовался не подверженный багу тип смешивания. Некоторые работали нормально :)
Да, на Windows тоже все не просто с этим. Но все проблемы решаемы.
Простите за заголовок.
Кстати, скорее всего Apple пошла навстречу Гуглу вот тут:
code.google.com/p/chromium/issues/detail?id=338925#c4
«After discussion with Apple it was learned that we didn't need to actually delete and re-create those contexts. We just needed to allocate all the contexts (including the WebGL contexts) with kCGLPFAAllowOfflineRenderers:YES, and when we wanted to switch to the discrete GPU, simply allocate a standalone CGLPixelFormatObj without that specified. When we wanted to switch back to the integrated GPU, delete that CGLPixelFormatObj.»
Это действительно большой шаг. Иначе бы не было Yandex, Mail.Ru…
А еще можно было бы про советский рассказать englishrussia.com/2006/08/20/first-russian-laptop
> return можно писать и в конце (хотя в этом и мало смысла, да). Но метод, который
> возвращает void не может содержвать в себе код «return XXX;», потому что все что
> программист напишет в XXX – осязаемо и имеет смысл.
void foo() { return void(); }
:)

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Works in
Date of birth
Registered
Activity