Моя первоначальная догадка заключается в том, что ответ отрицательный, из-за представленных здесь доказательств:
https://github.com/inuyaksa/jquery.nicescroll/wiki/Native-scroll-vs-Hardware-accelerated-one
Я могу качественно заметить, что версия с ускоренным ускорением HW более сглаживает мой компьютер. Я запускаю монитор на 120 Гц. Это говорит о том, что второй метод быстрее и эффективнее.
Для элемента HTML, такого как
<div id="a" style="overflow-y: hidden; height: 100px">
Content <em>which exceeds 100px in height</em>
<img src='lolcat.png' alt='lolcat'/>
</div>
Я предполагаю, что простой способ для аппаратного ускоренного макета 3D, который должен быть реализован, состоит в том, что полная высота div отображается, а затем этот вывод загружается как текстура полной высоты, а затем координаты текстуры, используемые для визуализации фактического div будет показывать только 100 пикселей за раз.
Мой вопрос связан с тем, как теоретически это должно иметь свойство scrollTop
, но кажется, что в настоящее время существует гораздо больше шансов получить описанное мной поведение с помощью TWO-элементов следующим образом:
<div id="a" style="overflow-y: hidden; height: 100px; position: relative">
<div style="position: relative">
Content <em>which exceeds 100px in height</em>
<img src='lolcat.png' alt='lolcat'/>
</div>
</div>
Где вместо установки свойства scrollTop
document.getElementById('a')
я устанавливаю свойство CCS3 -webkit/moz/ms/o-transform
в 3D-значение с соответствующим отрицательным значением пикселя оси Y.
Каков наиболее эффективный способ прокрутки с помощью CSS3? В частности, как я могу структурировать свой DOM, чтобы иметь наилучшие шансы получить самую простую прокрутку (не вызывая повторной розыгрыш внутреннего содержимого при прокрутке элемента)?
Обновление: я использую действительно хороший плагин для плавного прокрутки для Chrome, который, похоже, использует JS для назначения смещения scrollTop на странице для достижения рендеринга прокрутки, что, по-видимому, указывает на то, что если бы это не было аппаратное ускорение, производительность не могла не отставать от частоты обновления экрана (120 Гц) без большого количества использования ЦП. Тем не менее, такие спекуляции остаются крайне ненаучными. Вывод, который я собираюсь на этом этапе, заключается в том, что браузеры имеют право ускорить все, что они выбирают, в разумных пределах, поэтому ответ может звучать, возможно.