Mavericks: duyarlı kaydırma nasıl devre dışı bırakılır


10

Duyarlı kaydırma benim için birçok soruna neden oluyor. Çalıştığı zaman güzel, ancak bazen özellikle Chrome'da çok fazla gecikiyor.

Duyarlı kaydırmayı devre dışı bırakmanın ve kaydırmanın 10.8'deki gibi davranmasını sağlayan bir yol buldunuz mu? Küresel olarak veya uygulama başına.

"OS X'te Çizim ve Kaydırmayı Optimize Etme" WWDC videosu sırasında, Apple Engineer küresel olarak duyarlı kaydırmayı devre dışı bırakmak için AppleScript dosyasına benzeyen bir şey kullanır, bu yüzden bu mümkün, ancak nasıl olduğunu anlayamıyorum.


1
"Duyarlı" kaydırma 2009 MacBook'da benim için kesinlikle korkunç. Mountain Lion ile harika kaydırma performansım vardı, ancak şimdi kaydırma o kadar dalgalı ki bakmak istediğim şeyi göremiyorum. Gerçekten sinir bozucu.
OregonTrail

Bu, yaşadığım sorunları mükemmel bir şekilde anlatıyor ... Değer için, 2012 MacBook Pro'dayım.
bogdansrc

@bogdansrc Chrome açısından silmeyi ve yeniden yüklemeyi denediniz mi?
Simon

@Simon evet, denedi. Bu aynı zamanda Mavericks'in yeni bir kurulumunda.
bogdansrc

Yanıtlar:


4

Öncelikle bunu bir çözüm yerine mümkün olan yararlı bilgiler olarak gönderiyorum. Hangi doğru yönde bir tane alabilirsiniz.


Bunu, Duyarlı Kaydırma'nın neyi ve nasıl çalıştığını açıklayan OSX'teki Yenilikler'de buldum .

Altta, test amaçlı olarak uygulama başına nasıl devre dışı bırakılacağını belirten bir not da var.

Ancak bu seçeneği kendi oluşturulmuş uygulamalarımda veya başkalarında görmüyorum.

Duyarlı Kaydırma

Duyarlı kaydırma, kaydırmayı daha pürüzsüz hale getiren bir AppKit geliştirmesidir. Bu, uygulamanızın içerik çekme biçiminde iki önemli değişiklik içerir:

Kaydırma görünümleri, çocuklarının görünümlerinden normal görünüm alanlarının dışına ekstra içerik çekmelerini ister, böylece içerik hemen kaydırma amacıyla kullanılabilir hale gelir. Bu ek pencere desteği, ek sayfalamayı en aza indirmek için temizlenebilir bellekte saklanır. Kaydırma iş parçacığı, görünümü saniyede 60 kare hızında yeniden çizmeye çalışır, ancak uygulama devam edemezse geri döner. Kaydırma olayları bir arka plan iş parçacığında işlenir. Çoğu uygulama bu duyarlı kaydırma davranışını otomatik olarak alır. Bununla birlikte, drawRect :, NSSurface tabanlı belge görünümleri, şeffaf belge görünümleri ve lockFocus yöntemini geçersiz kılan belge görünümleri dahil olmak üzere katman destekli görünümler, özel kaydırma görünümü veya klip görünümü alt sınıfları dahil olmak üzere bazı görünümlerin açıkça seçilmesi gerekir.

Duyarlı kaydırmanın otomatik olarak etkinleştirildiği görünümler için, davranış değişikliği bir geliştirici olarak tamamen şeffaf olmalıdır. Ancak, uygulamanız kaydırma sırasında olağandışı bir davranış gösteriyorsa, lütfen hataları bildirin.

Not: Finder'da uygulamanızda Dosya> Bilgi Al'ı seçerek test amaçlı duyarlı kaydırmayı geçici olarak devre dışı bırakabilirsiniz. Ayarı değiştirdikten sonra uygulamanızdan çıkmalı ve yeniden başlatmalısınız. Daha fazla ayrıntı için bkz. OS Xv10.9 için AppKit Sürüm Notları.

Ben appkit sürüm notları bir göz vardı -Responsive Kaydırma daha ayrıntılı.

Bir Uygulamaya Duyarlı Kaydırma'nın atanmasını durduracak koşullar vardır. Onlardan biri:

10.7 veya önceki sürümlerdeki uygulama bağlantıları (uygulama, bu özelliği desteklemek için Mountain Lion veya üzeri sürümlere bağlanmalıdır)

Hangi App de 10.6 üzerinde çalıştırmak için inşa edilmişse demek istediğim o zaman bu özellik eklenmeyecek.

Chrome AFAIK 10.6 ve yukarısında çalışır. Ancak indiricinin mevcut sisteminiz için bir sürüm indirdiğinden şüpheleniyorum.

Muhtemelen 10.6 için oluşturulmuş bir sürüm yalnızca Chrome'da devre dışı bırakılır.


GÜNCELLEME * Ama yorumlarda belirtildiği gibi bogdansrc. 10.6 için tek bir yapı yok


Ben denedim:

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

Ancak isCompatibleWithResponsiveScrolling bir nsview alt sınıfı içindir ve gerçekten çalışmasını beklemiyorum. Ben de bu sorunu alamıyorum bu yüzden söyleyemem.


Bu ilginç bir kesmek gibi görünüyor
Yeni İskenderiye

"10.6 => üzerinde çalışır yanıt veren kaydırma yok" varsayımı yanlış. Bu, uygulamanın hangi SDK'ya bağlandığıyla ilgilidir. 10.9 SDK'ya karşı bir uygulama bağlantınız olabilir ve 10.6'da iyi çalışabilirsiniz. Bildiğim kadarıyla, genel yaklaşım en son SDK'ya bağlanmaktır, bu nedenle büyük olasılıkla Chrome bunu yapar. Eğer olmasaydı, hızlı tepki vermezdi. Hangi OS X sürümünü kullandığınıza bağlı olarak Chrome'un birden fazla sürümü yok. Bu aptalca.
bogdansrc

Temelde elma yanlış veya doğru not söylemeye ve yorumlamaya çalıştığım şey Base sdk 10.6 ve yukarıdaki herhangi birine bağlı değilse o zaman anladığım kadarıyla app RS olmayacak. Çok güzel başlıyorsunuz ama sonra "Thats aptalca" ile hakaret ederek şımarık. Basit bir "Sadece 10.6 yoktur Chrome" yeterli olurdu. Uygulamalar, en son işletim sistemini yüklemeyecek veya çalışmayacak daha eski işletim sistemleri için yapılara sahip olabilir.
Düşündüğüm

4

GÜNCELLEME (Apple Care'i aradıktan sonra 7.XI.2013):

Ayrıca ihtiyacım vardı:

1) PRAM'ı sıfırlama (kapattıktan sonra, CMD + ALT + P + R'yi ikinci gong'a kadar basılı tutarken açma), Mac'inizde nasıl yapılır: https://support.apple.com/kb/ht1379

2) SMC'yi sıfırlama (kapattıktan sonra, ÜSTKRKT + CTRL + ALT (seçenek) + GÜÇ) tuşlarını basılı tutarken mac'unuzda nasıl açılır: https://support.apple.com/kb/HT3964

AŞAĞIDAKİ AYAR OLMALIDIR: ataletle


Muhtemelen kalıcı bir çözüm DEĞİL, ancak sistemin yeniden başlatılmasına kıyasla hızlı ve rahat bir saldırı.

Benim için çalıştı. Üzgünüz, ekran görüntüleri Lehçe. Her neyse, resimler / simgeler sayesinde yönetmelisiniz.

Sistem Tercihlerinden ilk açık Erişilebilirlik

resim açıklamasını buraya girin

Ardından Dokunmatik Yüzey / Fare ayarlarında dokunmatik yüzey düğmesini tıklayın

resim açıklamasını buraya girin

Sonra ataletle / ataletsiz oynayın.

resim açıklamasını buraya girin


Duyarlı kaydırmanın atalet kaydırmasından farklı olduğunu düşünüyorum ...
DanHickstein

1
@ DanHickstein bir tür geçici çözüm.
andilabs

Hmmmm, duyarlı kaydırmanın burada tartışıldığı gibi 60 fps'de kaydırma yapmak için yeni bir şey olduğunu düşünüyorum: developer.apple.com/library/mac/releasenotes/MacOSX/… Bununla ilgili bir şey olduğundan emin değilim atalet kaydırma.
DanHickstein

Belki de değil. Ancak ben ve birkaç kullanıcı, interial ile oynamanın Chrome'daki frezzing ile sorundan kurtulmaya izin verdiğini öğrendik.
andilabs

2
Eylemsiz kaydırmayı devre dışı bırakmak benim için bir seçenek değil (eylemsiz kaydırmadan nefret ediyorum). Ayrıca, duyarlı kaydırma ataletsel kaydırma ile ilgisizdir. Hala ataletli veya ataletli olmayan hızlı kaydırma elde edersiniz.
bogdansrc

1

John Siracusa'dan Twitter'da sordum:

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

@siracusa Yu mavericks "duyarlı kaydırma" trn bir yolu var mı? Garip geliyor

Cevabı çok kısa ve özdü:

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

@davidmarsh No.

Sanırım bu, onu devre dışı bırakamayacağınız anlamına gelmiyor, sadece John'un onu kapatmanın bir yolunu bilmediğini.


2
John Siracusa nasıl yapılacağını bilmiyorsa, bunun mümkün olmadığı çok muhtemeldir. arstechnica.com/apple/2013/10/os-x-10-9

1
Bir Apple mühendisi, "OS X'de Çizim ve Kaydırma Optimizasyonu" WWDC oturumu sırasında AppleScript'e benzeyen bir şey kullanarak yaptı. Videoya developer.apple.com/wwdc/videos adresinden ulaşılabilir . Bu, Mavericks'in son yapısında hala mümkün olduğu anlamına gelmiyor.
bogdansrc
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.