Как стать автором
Обновить

Комментарии 26

Подобные «открытия» можно сделать и на десктопе, если забыть установить свежие драйвера видеокарты.
Занятно. Неужели скроллинг это настолько вычислительно-затратная операция? Я не могу припомнить у себя на десктопе подобных проблем именно в этой сфере.
Скроллинг-то как раз и нет. Но при фиксированном фоне скроллинг невозможен, браузер рендерит страницу с нуля.
Стоп, а почему при фиксированном фоне скроллинг невозможен? Скролится просто не вся активная область, а часть ее. Скролятся же всякие фрэймы и формы отдельно от остального контента.
Обычный фон:
1) Скопировать уже отрендеренный блок в новое место.
2) Отрендерить узкую полоску, появившуюся в результате скроллинга.
Фиксированный фон:
Всё стереть и нарисовать заново.
P.S. Такую оптимизацию на «обычном» фоне хорошо можно увидеть в Oper'е с её артефактами отрисовки. Артефакты не пропадают, пока не уйдут за пределы окна.
Это в том случае если фиксированный фон лежит под всем изменяющимся контентом. Жалобы от пользователя поступили на мой сайт, где это, мягко скажем, не так — papope.com/blog

Различия в работе браузера тут для фиксированного и скролящегося фона должны быть достаточно малы. Опять же, насколько я понимаю для нетбуков наиболее частая ширина экранов — 1024. А так этого фона вообще практически незаметно, контентная полоса только чуть уже.
Это зависит от того, есть ли соответствующая оптимизация в браузере. «Скопировать уже отрендеренный кусок» — тоже оптимизация, только программируется она на полпорядка легче, чем…
1. В зависимости от CSS-свойств установить (или не установить) блоку X флаг «оптимизированный».
2. Переключить буфера (да-да, одним внеэкранным буфером уже не обойдёшься).
3. Нарисовать «неоптимизированные» блоки.
4. А оптимизированные блоки частично перерисовывать, частично брать из второго буфера.
И тем не менее, насколько я понимаю, вся это логика в браузере уже есть, просто она применяется в несколько других местах, не связанных с фонами. Те же самые фрэймы, формы, наложения блоков.
Фреймы, если на них фон обычный, оптимизируются всё тем же простеньким алгоритмом. Что вы понимаете под словом «формы» — я не знаю, т.к. не видел прокручивающихся форм. По поводу «наложения блоков» — тоже уточните, что именно вы имеете в виду (если всё это наложение прокручивается вместе с документом — также работает простейший алгоритм).
P.S. В User mode на вашем сайте благополучно появляются Oper'овские артефакты (кто не знает: там у них ошибка перерисовки, когда Opera перекрыта другим окном, в том числе собственной оперовской всплывающей подсказкой). А в Author mode — не сумел повторить, видимо, Opera перерисовывает полностью.
По теме фонов, очень оригинальное решение для фона сайта
www.posrs.ru (Левая и правая кнопки мыши активны при двойном клике)
Да, забавная игрушка.
у вас на сайте подключается 2 разные версии jquery
Спасибо, поправлю, похоже какой-то из плагинов удружил.
С выходом новых браузеров эта проблема станет менее заметной. Так в Firefox 4 beta 7 pre (ну или более рание беты) эта проблема хоть и есть, но чуть заметна. В стабильной же весте 3.6.х она вполне ощутима. Так что реальным решением данной задачи может быть удаление подобного фона. :)
Ну, это было бы слишком простым решением. :-)
IE8 на нетбуке… жалко пацана(
На коммуникаторах это тоже очень заметно. Правда, опера под Windows Mobile поступает умнее — при прокрутке пальцем она скролит вместе с фоном, и только потом она перерисовывает всю страницу с нуля. Выглядит это не очень красиво, зато не тормозит.
мне на нетбуке, попав на сайт, пришлось уменьшить масштаб до 83%, что бы видеть сайт полностью
надо делать скины оформления что бы подобные вопросы не засоряли ленту
Логичнее всё же сделать для клиента галочку «у меня нетбук» и подключать нужную css самому.
А по уму — так вообще убрать нескроллящийся фон. Как будто эти бегуны кого-то волнуют, когда надо найти текст внизу страницы.
а если определять нетбук по разрешению?
@media only screen and (max-device-height: 480px) {
.wrapper {
background-repeat:no-repeat;
background-attachment:fixed;
}
}
Хорошая идея, спасибо.
только вот в IE 8 и младше не работают правила @media
я уже давно озвучивал свою точку зрения:
если мы хотим светлого будущего с одинаковой поддержкой стандартов всеми браузерами, то мы должны показать пользователям чего они лишаются пользуясь ущербными продуктами.
то есть делаем сайт по стандартам, для ие не вставляем хаки, а просто ограничиваем функциональность, оставляем его родные тормоза.
50% процентов пользователей получат ограниченный продукт. и тогда мс задвигает булками ради своих пользователей.

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

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

Публикации

Истории