2013-02-26 149 views
15

अधिक विशेष रूप से, एक डेस्कटॉप libGDX-LWJGL अनुप्रयोग। सीपीयू सिंकिंग के साथ-साथ बनाम को निष्क्रिय करने के लिए कॉन्फ़िगरेशन विकल्प हैं, लेकिन भले ही एप्लिकेशन 60fps पर चलता है।क्या libgDX में फ्रेम-सीमित अक्षम करना संभव है?

यह सभी व्यावहारिक उपयोगों के लिए ठीक है - लेकिन अगर कुछ और नहीं, तो उत्सुकता से बाहर, मैं देखना चाहता हूं कि फ़्रेमेट कितना अधिक जा सकता है।

उत्तर

32

Rode Hyde का उत्तर लाइब्रेरी में परिवर्तनों के कारण अब सही नहीं है। इसके अलावा

LwjglApplicationConfiguration config = new LwjglApplicationConfiguration(); 
config.vSyncEnabled = false; // Setting to false disables vertical sync 
config.foregroundFPS = 0; // Setting to 0 disables foreground fps throttling 
config.backgroundFPS = 0; // Setting to 0 disables background fps throttling 

, @RodHyde रूप में उल्लेख किया, सुनिश्चित करें कि किसी भी हार्डवेयर vsync अपने GPU पर बंद है यदि संभव हो तो: इस प्रयास करें।

+1

400 एफपीएस, लेकिन अब box2d बहुत तेज़ तरीका है –

+0

@ पॉल मैं इसके बारे में #libgdx (irc.freenode.net) या [libGDX फ़ोरम] पर पूछूंगा (http://www.badlogicgames.com/forum/) । –

6

उत्तर आपके सीपीयू और ग्राफिक्स कार्ड की गति पर बहुत अधिक निर्भर करता है, लेकिन यदि आप अपना एप्लिकेशन बनाते समय निम्न कॉन्फ़िगरेशन आज़माते हैं, और अपने ग्राफिक्स कार्ड पर बनाम को अक्षम करते हैं, तो उसे इसे बहुत कठिन बनाना चाहिए।

LwjglApplicationConfiguration cfg = new LwjglApplicationConfiguration(); 
cfg.title = "Framerate test"; 
cfg.width = 1280; 
cfg.height = 720; 
cfg.fullscreen = false; 
cfg.useGL20 = false; 
cfg.useCPUSynch = false; 
cfg.forceExit = true; 
cfg.vSyncEnabled = false; 

बनाम बनाम बनाम आपके ग्राफिक्स कार्ड की सेटिंग्स में कहीं भी होगा। मेरे एनवीडिया कार्ड पर, इसे विकल्पों में "वर्टिकल सिंक" के रूप में दिया जाता है। यह 60 एफपीएस पर फ्रेम दर को कैप करने के लिए "अनुकूली" पर सेट किया गया था, लेकिन इसे "ऑफ" पर सेट करने के बाद, मैंने देखा> 4000fps जैसा कि fraps द्वारा मापा गया है।

+0

यह पूरी तरह से काम किया। धन्यवाद! – Mistodon

3

cfg.useCPUSynch ऐसा लगता है। cfg.foregroundFPS को कुछ बड़ी संख्या में सेट करने के बजाय मेरे लिए चाल थी।

+0

यह वास्तव में @ रोडहाइड के जवाब पर टिप्पणी होना चाहिए। यह तकनीकी रूप से गलत है क्योंकि ओपी फ्रेम-सीमित पूरी तरह से अक्षम करना चाहता है। यह अधूरा भी है क्योंकि आप vSyncEnabled और न ही पृष्ठभूमि FPS का उल्लेख नहीं करते हैं। –