Маверикс: как отключить адаптивную прокрутку


10

Адаптивная прокрутка вызывает у меня много проблем. Приятно, когда это работает, но иногда сильно отстает, особенно в Chrome.

Кто-нибудь нашел способ отключить адаптивную прокрутку и заставить ее вести себя как в 10.8? Либо глобально, либо для каждого приложения.

Во время видео WWDC «Оптимизация рисования и прокрутки в OS X» инженер Apple использует то, что выглядит как файл AppleScript, чтобы отключить адаптивную прокрутку глобально, так что это возможно, но я не могу понять, как это сделать.


1
«Адаптивная» прокрутка абсолютно ужасна для меня на MacBook 2009 года. У меня была отличная прокрутка с Mountain Lion, но теперь прокрутка настолько изменчива, что я не могу прокрутить то, на что я хочу смотреть. Это действительно расстраивает.
OregonTrail

Это прекрасно описывает проблемы, с которыми я сталкиваюсь ... Я стою на MacBook Pro 2012 года.
bogdansrc

@bogdansrc С точки зрения Chrome пытались удалить его, а затем переустановить?
Симон

@ Симон да, попробовал это. Это также на новой установке Mavericks.
bogdansrc

Ответы:


4

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


Я нашел это в разделе « Что нового в OSX», в котором объясняется, что и как работает Responsive Scrolling.

Внизу также есть примечание о том, как отключить его для каждого приложения в целях тестирования.

Но я не вижу эту опцию в моих собственных встроенных приложениях или любых других.

Отзывчивая прокрутка

Адаптивная прокрутка - это расширение AppKit, которое делает прокрутку более плавной. Это включает два существенных изменения в том, как ваше приложение рисует контент:

Представления прокрутки просят, чтобы их дочерние представления нарисовали дополнительный контент за пределами их обычной области просмотра, чтобы контент мог быть немедленно сделан доступным для целей прокрутки. Эта дополнительная поддержка окна хранится в очищаемой памяти, чтобы минимизировать дополнительную подкачку. Поток прокрутки пытается перерисовать представление со скоростью 60 кадров в секунду, но он отключается, если приложение не может поддерживать скорость. События прокрутки обрабатываются в фоновом потоке. Большинство приложений автоматически получают эту адаптивную прокрутку. Однако некоторые представления должны явно указывать, в том числе представления на основе слоев, пользовательские представления прокрутки или подклассы представления клипов, которые переопределяют drawRect:, представления документов на основе NSSurface, прозрачные представления документов и представления документов, которые переопределяют метод lockFocus.

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

Примечание. В целях тестирования вы можете временно отключить адаптивную прокрутку, выбрав «Файл»> «Информация» в приложении в Finder. После изменения настроек вы должны выйти и перезапустить приложение. Для получения дополнительной информации посмотрите Примечания к выпуску AppKit для OS X v10.9.

Я взглянул на заметки о выпуске appkit -Rasponsive Scrolling, которые идут более подробно.

Существуют условия, которые должны остановить адаптивную прокрутку, назначаемую приложению. Один из них является:

Приложение ссылается на версию 10.7 или более раннюю (приложение должно содержать ссылку на Mountain Lion или выше, чтобы поддерживать эту функцию)

Что я имею в виду, если приложение создано для работы на 10.6, тогда эта функция не будет добавлена.

Chrome AFAIK будет работать на 10,6 и выше. Но я подозреваю, что загрузчик загружает версию для вашей текущей системы.

Возможно, версия, созданная только для 10.6, отключит ее в Chrome.


ОБНОВЛЕНИЕ * Но, как указывает bogdansrc в комментариях. Для 10.6 нет единой сборки


Я попробовал:

defaults write ~/Library/Preferences/com.google.Chrome isCompatibleWithResponsiveScrolling -bool NO

Но isCompatibleWithResponsiveScrolling предназначен для подкласса nsview, и я не ожидаю, что он будет работать. У меня тоже нет этой проблемы, поэтому я не могу сказать.


Это выглядит как интересный взлом
Новая Александрия

Предположение «работает на 10.6 => не имеет адаптивной прокрутки» неверно. Это то, с чем SDK связывает приложение. Вы можете иметь ссылку на приложение против 10.9 SDK и нормально работать на 10.6. Насколько я знаю, общий подход состоит в том, чтобы ссылаться на последний SDK, так что, скорее всего, Chrome это делает. Если этого не произойдет, у него не будет гибкой прокрутки. Существует не несколько версий Chrome в зависимости от того, какую версию OS X вы используете. Это глупо.
bogdansrc

То, что я в основном пытаюсь сказать и интерпретировать из яблочной заметки неправильно или правильно, так это если базовый SDK равен 10,6 и не связан ни с одним из вышеперечисленных пунктов, то, насколько я понимаю, приложение не будет иметь RS. Вы начинаете так хорошо, но потом все испортили, оскорбляя «Это глупо». Достаточно было бы просто «Нет только 10.6 Chrome». Приложения могут иметь сборки для более старых ОС, которые не будут устанавливаться или работать на последних ОС. Именно об этом я и думал.
markhunte

4

ОБНОВЛЕНИЕ (7.XI.2013 после звонка в Apple Care):

Мне также нужно было:

1) сброс PRAM (после выключения включите, удерживая CMD + ALT + P + R до второго гонга), как на вашем Mac: https://support.apple.com/kb/ht1379

2) сброс SMC (после выключения, включения, удерживая SHIFT + CTRL + ALT (опция) + POWER), как на вашем Mac: https://support.apple.com/kb/HT3964

НИЖЕ УСТАНОВКА ДОЛЖНА БЫТЬ: с инерцией


Вероятно, это НЕ постоянное решение, а быстрый и удобный взлом по сравнению с перезагрузкой системы.

Это сработало для меня. Извините, что скриншоты на польском языке. В любом случае, вы должны управлять этим благодаря изображениям / иконкам.

Сначала откройте Доступность из Системных настроек

введите описание изображения здесь

Затем в настройках Touchpad / Mouse нажмите кнопку тачпада

введите описание изображения здесь

Тогда играй с / без инерции.

введите описание изображения здесь


Я думаю, что
адаптивная

1
@ DanHickstein это своего рода обходной путь.
Andilabs

Хммм, я думаю, что адаптивная прокрутка - это новая вещь, чтобы сделать прокрутку работающей на 60 кадрах в секунду, как обсуждено здесь: developer.apple.com/library/mac/releasenotes/MacOSX/… Я не уверен, что это имеет какое-либо отношение к инерционная прокрутка.
DanHickstein

Возможно, нет. Но я и несколько пользователей поняли, что игра с interial позволяет избавиться от проблемы с фрезингом в Chrome.
Andilabs

2
Отключение инерционной прокрутки не вариант для меня (я ненавижу неинерциальную прокрутку). Кроме того, адаптивная прокрутка не связана с инерционной прокруткой. Вы по-прежнему получаете гибкую прокрутку с инерцией или без нее.
bogdansrc

1

Я спросил Джона Сиракузы в твиттере:

https://twitter.com/siracusa/status/394988398009925632

@siracusa Есть ли у вас способ отключить "адаптивную прокрутку" в индивидуалистах? Это странно

Его ответ был очень кратким:

https://twitter.com/siracusa/status/394988398009925632

@davidmarsh Нет.

Я думаю, это не значит, что вы не можете отключить его, просто Джон не знает, как его отключить.


2
Если Джон Сиракуза не знает как, очень вероятно, что это невозможно. arstechnica.com/apple/2013/10/os-x-10-9

1
Инженер Apple сделал это, используя что-то похожее на AppleScript во время сеанса WWDC «Оптимизация рисования и прокрутки в OS X». Видео доступно по адресу developer.apple.com/wwdc/videos . Это не значит, что это все еще возможно в последней сборке Mavericks.
bogdansrc
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.