सटीकता बनाम। शुद्धता
मैं जानना चाहूंगा कि क्या मुझे अपने खेल में अपने ऑब्जेक्ट की स्थिति को अपडेट करते समय System.currentTimeMillis () या System.nanoTime () का उपयोग करना चाहिए ? आंदोलन में उनका परिवर्तन अंतिम कॉल के बाद से बीता समय के लिए सीधे आनुपातिक है और मैं यथासंभव सटीक होना चाहता हूं।
मैंने पढ़ा है कि विभिन्न ऑपरेटिंग सिस्टमों के बीच कुछ गंभीर समय-रिज़ॉल्यूशन समस्याएं हैं (अर्थात मैक / लिनक्स में लगभग 1 एमएस रिज़ॉल्यूशन है जबकि विंडोज में 50ms रिज़ॉल्यूशन है)? मैं मुख्य रूप से विंडोज़ और 50ms रिज़ॉल्यूशन पर अपने ऐप चला रहा हूं, बहुत गलत लगता है।
क्या मेरे द्वारा सूचीबद्ध दो से बेहतर विकल्प हैं?
कोई सुझाव / टिप्पणी?
System.currentTimeMillis()
: pzemtsov.github.io/2017/07/23/the-slow-currenttimemillis.html
nanoTime
करंट टाइममिलिस की तुलना में आमतौर पर अधिक सटीक होता है, लेकिन यह अपेक्षाकृत महंगा कॉल भी है।currentTimeMillis()
कुछ (5-6) सीपीयू घड़ियों में चलाता है, नैनो टाइम अंतर्निहित वास्तुकला पर निर्भर करता है और 100+ सीपीयू घड़ियों हो सकता है।