Mavericks: cómo deshabilitar el desplazamiento receptivo

10

El desplazamiento receptivo me está causando muchos problemas. Es agradable cuando funciona, pero a veces es muy lento, especialmente en Chrome.

¿Alguien descubrió una manera de desactivar el desplazamiento receptivo y hacer que el desplazamiento se comporte como en 10.8? Ya sea globalmente o por aplicación.

Durante el video WWDC "Optimización del dibujo y el desplazamiento en OS X", el ingeniero de Apple utiliza lo que parece un archivo AppleScript para deshabilitar el desplazamiento receptivo a nivel mundial, por lo que es posible, pero no puedo entender cómo.

bogdansrc
fuente
1
El desplazamiento "receptivo" es absolutamente terrible para mí en un MacBook 2009. Tuve un gran rendimiento de desplazamiento con Mountain Lion, pero ahora el desplazamiento es tan irregular que no puedo desplazarme para ver lo que quiero ver. Es realmente frustrante.
OregonTrail
Eso describe perfectamente los problemas que estoy teniendo ... Por lo que vale, estoy en una MacBook Pro 2012.
bogdansrc
@bogdansrc En términos de Chrome, ¿he intentado eliminarlo y luego reinstalarlo?
Simon
@ Simon, sí, lo intenté. Esto también está en una nueva instalación de Mavericks.
bogdansrc

Respuestas:

4

En primer lugar, publico esto como posible información útil en lugar de una solución. Lo que puede llevar a alguien en la dirección correcta.


Encontré esto en What's New in OSX que explica cómo y cómo funciona Responsive Scrolling.

En la parte inferior también hay una nota que dice cómo deshabilitarlo por aplicación para fines de prueba.

Pero no veo esta opción en mis propias aplicaciones integradas ni en ninguna otra.

Desplazamiento receptivo

El desplazamiento receptivo es una mejora de AppKit que hace que el desplazamiento sea más suave. Esto implica dos cambios significativos en la forma en que su aplicación dibuja el contenido:

Las vistas de desplazamiento solicitan a sus vistas secundarias que dibujen contenido adicional fuera de su área de vista normal para que el contenido pueda estar disponible de inmediato para fines de desplazamiento. Este respaldo de ventana adicional se almacena en la memoria purgable para minimizar la paginación adicional. El hilo de desplazamiento intenta volver a dibujar la vista a 60 cuadros por segundo, pero retrocede si la aplicación no puede seguir el ritmo. Los eventos de desplazamiento se procesan en un hilo de fondo. La mayoría de las aplicaciones reciben automáticamente este comportamiento de desplazamiento receptivo. Sin embargo, algunas vistas deben participar explícitamente, incluidas las vistas respaldadas por capas, la vista de desplazamiento personalizada o las subclases de vista de clip que anulan drawRect :, vistas de documento basadas en NSSurface, vistas de documento transparentes y vistas de documento que anulan el método lockFocus.

Para las vistas en las que el desplazamiento receptivo se habilita automáticamente, el cambio de comportamiento debe ser completamente transparente para usted como desarrollador. Sin embargo, si su aplicación exhibe algún comportamiento inusual durante el desplazamiento, por favor envíe los errores.

Nota: Puede deshabilitar temporalmente el desplazamiento receptivo con fines de prueba seleccionando Archivo> Obtener información en su aplicación en Finder. Después de cambiar la configuración, debe salir y reiniciar su aplicación. Para obtener más detalles, consulte las Notas de versión de AppKit para OS X v10.9.

Eché un vistazo a las notas de la versión del kit de aplicaciones -Responsive Scrolling que entra en más detalles.

Hay condiciones que deberían evitar que se asigne el Desplazamiento receptivo a una aplicación. Uno de ellos es:

La aplicación se vincula en 10.7 o anterior (la aplicación debe vincularse en Mountain Lion o superior para admitir esta función)

Lo que quiero decir es que si la aplicación está diseñada para ejecutarse también en 10.6, entonces no tendrá esta característica agregada.

Chrome AFAIK se ejecutará en 10.6 hacia arriba. Pero sospecho que el descargador está descargando una versión para su sistema actual.

Posiblemente una versión creada para 10.6 solo lo deshabilitaría en Chrome.


ACTUALIZACIÓN * Pero como bogdansrc señala en los comentarios. No hay una compilación única para 10.6


Lo intenté:

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

Pero isCompatibleWithResponsiveScrolling es para una subclase nsview y realmente no espero que funcione. Tampoco tengo este problema, así que no puedo decirlo.

Markhunte
fuente
Esto parece un truco interesante
Nueva Alejandría el
La suposición "funciona en 10.6 => no tiene desplazamiento sensible" es incorrecta. Se trata de con qué SDK se vincula la aplicación. Puede tener un enlace de aplicación contra el SDK 10.9 y funcionar bien en 10.6. Hasta donde sé, el enfoque general es vincular en el último SDK, por lo que lo más probable es que Chrome lo haga. Si no fuera así, no tendría un desplazamiento receptivo. No hay varias versiones de Chrome basadas en la versión de OS X que está ejecutando. Eso es tonto.
bogdansrc
Básicamente, lo que estoy tratando de decir e interpretar de Apple Note de forma incorrecta o correcta es si el SDK base es 10.6 y no está vinculado a ninguno de los anteriores, por lo que entiendo, la aplicación no tendrá RS. Empiezas tan bien pero luego lo echas a perder insultando con "Eso es una tontería". Un simple "No hay 10.6 solo Chrome" hubiera sido suficiente. Las aplicaciones pueden tener compilaciones para sistemas operativos más antiguos que no se instalarán o ejecutarán en el último sistema operativo. En eso estaba pensando.
markhunte
4

ACTUALIZACIÓN (7.XI.2013 después de llamar a Apple Care):

Yo también necesitaba:

1) restablecer PRAM (después de apagar, encender mientras mantiene CMD + ALT + P + R hasta el segundo gong), cómo hacerlo en su mac: https://support.apple.com/kb/ht1379

2) reiniciar SMC (después de apagar, encender mientras se mantiene presionada la tecla MAYÚS + CTRL + ALT (opción) + ENCENDIDO) en su mac: https://support.apple.com/kb/HT3964

LA CONFIGURACIÓN DEBAJO DEBE SER: con inercia


Probablemente NO sea la solución permanente, sino un hack rápido y cómodo en comparación con el reinicio del sistema.

Funcionó para mi. Lo sentimos, las capturas de pantalla están en polaco. De todos modos, deberías administrarlo gracias a las imágenes / íconos.

Primera accesibilidad abierta desde las preferencias del sistema

ingrese la descripción de la imagen aquí

Luego, en la configuración del panel táctil / mouse, haga clic en el botón del panel táctil

ingrese la descripción de la imagen aquí

Luego juega con / sin inercia.

ingrese la descripción de la imagen aquí

andilabs
fuente
Creo que el desplazamiento receptivo es diferente del desplazamiento por inercia ...
DanHickstein
1
@DanHickstein es una especie de solución alternativa.
andilabs 01 de
Hmmmm, creo que el desplazamiento receptivo es algo nuevo para que el desplazamiento funcione a 60 fps, como se explica aquí: developer.apple.com/library/mac/releasenotes/MacOSX/... No estoy seguro de que tenga algo que ver con El desplazamiento inercial.
DanHickstein el
Tal vez no. Pero yo y pocos usuarios nos dimos cuenta de que jugar con interial permite deshacerse del problema de los sonidos en Chrome.
andilabs 01 de
2
Deshabilitar el desplazamiento inercial no es una opción para mí (odio el desplazamiento no inercial). Además, el desplazamiento receptivo no está relacionado con el desplazamiento inercial. Todavía obtienes un desplazamiento receptivo con o sin inercia.
bogdansrc
1

Le pregunté a John Siracusa en Twitter:

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

@siracusa ¿Has encontrado una manera de desconectar el "desplazamiento receptivo" en disidentes? Se siente extraño

Su respuesta fue muy sucinta:

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

@davidmarsh No.

Supongo que eso no significa que no pueda deshabilitarlo, solo que John no sabe cómo apagarlo.

David
fuente
2
Si John Siracusa no sabe cómo, es muy probable que no sea posible. arstechnica.com/apple/2013/10/os-x-10-9
1
Un ingeniero de Apple lo hizo usando lo que parecía un AppleScript durante la sesión WWDC "Optimizando el dibujo y el desplazamiento en OS X". El video está disponible en developer.apple.com/wwdc/videos . Esto no significa que todavía sea posible en la última versión de Mavericks.
bogdansrc