ประการแรกฉันโพสต์สิ่งนี้เป็นข้อมูลที่เป็นประโยชน์มากกว่าที่จะเป็นวิธีแก้ปัญหา ซึ่งอาจได้รับบางอย่างในทิศทางที่ถูกต้อง
ฉันพบสิ่งนี้ในมีอะไรใหม่ใน OSXซึ่งจะอธิบายการทำงานของ Responsive Scrolling
ที่ด้านล่างมีข้อความที่บอกวิธีปิดใช้งานต่อแอพเพื่อการทดสอบ
แต่ฉันไม่เห็นตัวเลือกนี้ในแอพที่ฉันสร้างขึ้นเองหรือของผู้อื่น
เลื่อนการตอบสนอง
การเลื่อนที่ตอบสนองเป็นการปรับปรุง AppKit ที่ทำให้การเลื่อนราบรื่นขึ้น สิ่งนี้เกี่ยวข้องกับการเปลี่ยนแปลงที่สำคัญสองประการเกี่ยวกับวิธีที่แอปของคุณดึงเนื้อหา:
มุมมองการเลื่อนขอให้มุมมองแบบลูกของพวกเขาวาดเนื้อหาพิเศษนอกพื้นที่มุมมองปกติของพวกเขาเพื่อให้เนื้อหาสามารถนำมาใช้ได้ทันทีเพื่อการเลื่อน การสำรองข้อมูลหน้าต่างเพิ่มเติมนี้จะถูกเก็บไว้ในหน่วยความจำที่ลบได้เพื่อลดการเพจเพิ่มเติม เธรดการเลื่อนจะพยายามวาดมุมมองใหม่ที่ 60 เฟรมต่อวินาที แต่จะถอยกลับหากแอปไม่สามารถติดตามได้ เหตุการณ์การเลื่อนถูกประมวลผลบนเธรดพื้นหลัง แอพส่วนใหญ่จะได้รับพฤติกรรมการเลื่อนที่ตอบสนองโดยอัตโนมัติ อย่างไรก็ตามมุมมองบางอย่างต้องเลือกใช้อย่างชัดเจนรวมถึงมุมมองเลเยอร์ที่ได้รับการสนับสนุน, มุมมองเลื่อนที่กำหนดเองหรือคลาสย่อยของมุมมองคลิปที่แทนที่ drawRect:, มุมมองเอกสารที่ใช้ NSSurface, มุมมองเอกสารที่โปร่งใสและมุมมองเอกสารที่
สำหรับมุมมองที่การเลื่อนการตอบสนองถูกเปิดใช้งานโดยอัตโนมัติการเปลี่ยนแปลงพฤติกรรมควรจะโปร่งใสสำหรับคุณในฐานะนักพัฒนา อย่างไรก็ตามหากแอปของคุณมีพฤติกรรมที่ผิดปกติใด ๆ ในขณะเลื่อนดูโปรดยื่นข้อบกพร่อง
หมายเหตุ: คุณสามารถปิดใช้งานการเลื่อนแบบตอบสนองชั่วคราวเพื่อทดสอบได้โดยเลือกไฟล์> รับข้อมูลในแอพของคุณใน Finder หลังจากเปลี่ยนการตั้งค่าคุณจะต้องออกและเปิดใช้งานแอปอีกครั้ง สำหรับรายละเอียดเพิ่มเติมดูที่ AppKit Release Notes สำหรับ OS X v10.9
ฉันดูที่บันทึกประจำรุ่นของ appkit -การตอบสนองการเลื่อนซึ่งจะมีรายละเอียดเพิ่มเติม
มีเงื่อนไขที่ควรหยุดการตอบสนองการเลื่อนที่กำหนดให้กับแอพ หนึ่งในนั้นคือ:
ลิงก์แอปพลิเคชันบน 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 และฉันไม่คาดหวังว่ามันจะทำงาน ฉันยังไม่ได้รับปัญหานี้ดังนั้นฉันไม่สามารถบอกได้