Мы столкнулись с проблемой оптимизации при использовании WebKit в Mac OS X, и надеемся, что кто-нибудь нам поможет.
Мы написали приложение Cocoa для Mac OS X, которое по сути управляет одним веб-представлением, которое указывает на наш онлайн-сайт. Все работает нормально по большей части. Однако наш веб-сайт использует позицию CSS: исправлено, чтобы держать тонкую «полосу заголовка» заблокированной в верхней части WebView, аналогично большой оранжевой панели «Добро пожаловать» в верхней части StackOverflow.com. Мы определили, что с помощью position: fixed active, прокрутка WebView заставляет всю веб-страницу перерисовываться, что вызывает мучительную медленную прокрутку. С положением: зафиксировано отключено, прокрутка очень быстрая и плавная; необходимо нарисовать только элементы страницы, которые прокручиваются «в поле зрения».
Мы знаем, что это не ошибка в коде нашего приложения Какао и не проблема с нашим кодом HTML / CSS. Такая же медленная прокрутка происходит с использованием тестового кода WebKit от Apple. Мы можем указать тестовый код Apple на http://www.StackOverflow.com в качестве теста, и мы видим точно такое же поведение. Также есть тестовая страница в базе данных ошибок Mozilla, которую мы использовали для проверки проблемы (https://bug201307.bugzilla.mozilla.org/attachment.cgi?id=139911). Странно то, что некоторые браузеры на Mac с WebKit (например, Safari и Chrome) не имеют этой проблемы ; прокрутка всегда быстрая на страницах с использованием позиции CSS: исправлено в этих двух браузерах.
Кто-нибудь еще испытывал эту проблему с WebKit на OS X? Если так, что мы можем сделать, чтобы ускорить нашу прокрутку? Благодаря.