Tüm SDL/OpenGL programlarıyla, kare hızı 60 fps'de kaldı, bu yüzden vsync'nin etkinleştirilmesine benziyor, bana değil, koduma veya ayarlarım'a göre. Bu yüzden şimdi, bazı derin macOS ayarlarında, devre dışı bırakmanın bir yolu varsa şimdi isterim?MacOS'taki vsync nasıl devre dışı bırakılır
cevap
(ve Brett Hale yardımıyla) bu benim için çalıştı budur - Ben ekledim benim işlemek döngünün başında kod parçası (ve sadece içinde Apple olarak init, ... her zaman SwapInterval ayarlarını sıfırlamak gibi görünüyor) ve unsynchronize kare hızına sahip mümkün nihayet oldu:
#ifdef __APPLE__
GLint sync = 0;
CGLContextObj ctx = CGLGetCurrentContext();
CGLSetParameter(ctx, kCGLCPSwapInterval, &sync);
#endif
O güzel değil <OpenGL/gl.h>
eklemeyi unutmayın çözüm ama aslında bir cazibeye benzeyen tek bulduğum.
SO. Benzer bir soru için bir here numaralı yaklaşımı özetledim. Çoğu Mac LCD'nin 60Hz'ye kilitlendiğini ve daha yeni donanımların 120Hz ile sınırlı olduğunu düşünmelisiniz. Vsync'nin devre dışı bırakılması, sadece boşa harcanan CPU/GPU döngüleri ile sonuçlanabilir ve muhtemelen yırtılma eserler ortaya çıkarabilir.
Bu, MacBook Pro'mda saniyede yaklaşık 700 kare almamı sağladı.
- Download Graphics Tools for Xcode - Late August 2014
- Araçlarına
- Açık Kuvars Debug
- Git yükleyin ya da sadece Grafik Araçlar monte -> Show Işın Sync Araçları
- Seç Devre Dışı Işın Senkronizasyon
Bu da kalıcı değil Test/kıyaslama için mükemmel. Geçici bir çözüm arayan YIL sonra
Oh oh, tüm o zamandan sonra benim gad! Çok teşekkürler dostum! – Nox
Bunu denedim ve hiçbir şey olmadı. Neyi yanlış yapıyorum? –
1. Test ettiğiniz uygulamanın aslında 60 fps'yi geçebileceğini kontrol edin; 2. Bu çözüm, Yosemite veya El Capitan için test edilmemiş olan Mavericks 10.9 içindi. – cevaris
- 1. Bazı koşullarda ActionBar.TabListener nasıl devre dışı bırakılır/devre dışı bırakılır
- 2. QPushButton nasıl devre dışı bırakılır
- 3. .NET: System.Transactions'da promosyonu nasıl devre dışı bırakılır?
- 4. DrawerLayout Gölge nasıl devre dışı bırakılır
- 5. Emacs'ta x yapıştırma nasıl devre dışı bırakılır
- 6. JQuery Mousewheel: Nasıl devre dışı bırakılır?
- 7. hız günlükleri nasıl devre dışı bırakılır
- 8. active_admin'in toplu eylemi nasıl devre dışı bırakılır?
- 9. Apache2'de mod_deflate nasıl devre dışı bırakılır?
- 10. GitLab: Otomatik başlangıç nasıl devre dışı bırakılır?
- 11. AngularJS'deki girdilerin kırpılması nasıl devre dışı bırakılır?
- 12. Emacs'te saçak nasıl devre dışı bırakılır?
- 13. ScrollView kaydırması nasıl devre dışı bırakılır?
- 14. Android'de ListView'i tıklayarak nasıl devre dışı bırakılır?
- 15. Bir kendogrid'de sayfalama nasıl devre dışı bırakılır
- 16. Django: modelinde sipariş nasıl devre dışı bırakılır
- 17. GWT ValueListBox nasıl devre dışı bırakılır?
- 18. Yammer sohbeti tamamen nasıl devre dışı bırakılır?
- 19. zaten ayırtılmış tarihler nasıl devre dışı bırakılır?
- 20. CakePHP Form Combo nasıl devre dışı bırakılır?
- 21. ContextMenuStrip'deki menü öğeleri nasıl devre dışı bırakılır?
- 22. Matris matrisi nasıl devre dışı bırakılır?
- 23. QTableView'de Düzenleme modu nasıl devre dışı bırakılır?
- 24. Geliştirme'de ActionMailer nasıl devre dışı bırakılır?
- 25. EGit geçici olarak nasıl devre dışı bırakılır?
- 26. İletişim kutuları nasıl devre dışı bırakılır - alert()?
- 27. Vue-cli'da ESLint nasıl devre dışı bırakılır?
- 28. Dokunma olayları SwipeRefreshLayout'ta nasıl devre dışı bırakılır?
- 29. Video çekimi nasıl devre dışı bırakılır UIImagePickerController
- 30. Tkinter'da bir Combobox nasıl devre dışı bırakılır?
Evet, bir çözüm bulmak için etrafa bakmaktan vazgeçtim ... Neyse, teşekkürler! – Nox