2012-09-10 30 views
11

पर vsync को अक्षम करने के लिए कैसे करें मेरे सभी एसडीएल/ओपनजीएल प्रोग्राम्स के साथ, फ़्रेमेट 60fps पर फंस गया है, ऐसा लगता है कि vsync सक्षम है, लेकिन मेरे द्वारा नहीं, न ही मेरे कोड या मेरी सेटिंग्स में। इसलिए अब मैं इसे अक्षम करना चाहता हूं, शायद कुछ गहरी मैकोज़ सेटिंग्स में?मैकोज़

उत्तर

3

एक समाधान की तलाश में वर्षों के बाद (और Brett Hale की मदद से) यह है कि क्या मेरे लिए काम किया है - मैं जोड़ दिया है कि मेरे पाश प्रस्तुत करना के शुरू में कोड का टुकड़ा (और न केवल एप्पल के रूप में init, हर बार SwapInterval सेटिंग्स को रीसेट करने लगता है ...) और अंत में unsynchronize फ़्रेमदर के लिए कर रहा था:

#ifdef __APPLE__ 
GLint      sync = 0; 
CGLContextObj    ctx = CGLGetCurrentContext(); 

CGLSetParameter(ctx, kCGLCPSwapInterval, &sync); 
#endif 

मत भूलना शामिल करने के लिए <OpenGL/gl.h>

यह अच्छा नहीं है समाधान लेकिन वास्तव में यह एकमात्र ऐसा पाया गया है जो एक आकर्षण की तरह काम करता है।

4

SO में आपका स्वागत है। मैंने एक समान प्रश्न के लिए here एक दृष्टिकोण रेखांकित किया। आपको यह समझना चाहिए कि अधिकांश मैक एलसीडी 60 हर्ट्ज तक बंद हैं, और हालिया हार्डवेयर 120 हर्ट्ज तक सीमित है। Vsync को अक्षम करने से परिणामस्वरूप सीपीयू/जीपीयू चक्र बर्बाद हो सकते हैं, और संभवतः फाड़ने वाले कलाकृतियों को पेश कर सकते हैं।

+0

हाँ, मैंने समाधान खोजने के लिए चारों ओर देखना बंद कर दिया है ... वैसे भी धन्यवाद! – Nox

7

इससे मुझे अपने मैकबुक प्रो पर प्रति सेकंड लगभग 700 फ्रेम प्राप्त करने में सक्षम बनाया गया।

  • Download Graphics Tools for Xcode - Late August 2014
  • स्थापित करें या सिर्फ ग्राफिक उपकरण माउंट
  • ओपन क्वार्ट्ज डीबग
  • टूल -> दिखाएँ बीम सिंक उपकरण
  • करें अक्षम बीम तुल्यकालन

यह या तो स्थायी नहीं है , परीक्षण/बेंचमार्किंग के लिए एकदम सही है।

Source

+1

ओह मेरे गाड, उस समय के बाद !! धन्यवाद बहुत दोस्त! – Nox

+0

मैंने कोशिश की और कुछ भी नहीं हुआ। मैं क्या गलत कर रहा हूं? –

+0

1. डबल चेक करें कि जिस ऐप का आप परीक्षण कर रहे हैं वह वास्तव में 60fps से अधिक हो सकता है; 2. यह समाधान मैवेरिक्स 10.9 के लिए था, जो योसाइट या एल कैपिटन – cevaris

संबंधित मुद्दे