2010-01-29 12 views
7

मेरी ओपन पुस्तक में, यह इस का कहना है:एफपीएस इसकी गणना कैसे करें?

"क्या अक्सर एक ऐसी प्रणाली पर होता है कि फ्रेम जटिल 1/60 दूसरे में आकर्षित करने के लिए है, इसलिए प्रत्येक फ्रेम एक बार से अधिक प्रदर्शित होता है। यदि, उदाहरण के लिए, फ्रेम बनाने के लिए 1/45 सेकेंड लगते हैं, तो आपको 30 एफपीएस मिलते हैं, और ग्राफिक्स 1/30 1/45 = 1/90 सेकेंड प्रति फ्रेम के लिए निष्क्रिय होते हैं, या का एक तिहाई पहर।"

वाक्य में कहा गया है कि "फ्रेम बनाने के लिए 1/45 सेकेंड लगते हैं, आपको 30 एफपीएस मिलते हैं", मुझे केवल 30 एफपीएस क्यों मिलते हैं? Woudl't 45 एफपीएस अधिक सही हो?

+0

क्षमा करें दोस्तों, मुझे अभी तक यह समझ में नहीं आता है, कृपया मुझे एक महान स्पष्टीकरण के साथ और अधिक जवाब दें! मैं वास्तव में अभी तक समझ में नहीं आता क्यों मुझे केवल 30 एफपीएस मिलते हैं, और इसे रीफ्रेश करने के लिए 2/60 सेकंड क्यों लगते हैं! (लिंक एनन ने कहा), धन्यवाद फिर से !! – drigoSkalWalker

उत्तर

12

ग्राफिक्स कार्ड आमतौर पर केवल एक फ्रेम को बफर करेगा।

यदि फ्रेम बनाने के लिए एक सेकंड का 1/45 लेता है, तो दूसरे चिह्न के 1/60 पर, पिछला फ्रेम फिर से चलाया जाएगा। 1/45 अंक पर, अगला फ्रेम किया जाता है - लेकिन कार्ड के पास अगली प्रतिपादन शुरू करने के लिए एक फ्री बफर नहीं है, इसलिए 1/30 तक निष्क्रिय रहना है, जहां वह उस फ्रेम को भेज सकता है और काम करना शुरू कर सकता है अगले पर।

यह वीएसआईएनसी सक्षम है - अगर आप इसे अक्षम करते हैं, तो 30 एफपीएस फ़्रेमेट और निष्क्रिय समय 1/3 प्राप्त करने के बजाय, कार्ड तुरंत फिर से शुरू हो जाएगा, और आपको इसके बजाय स्क्रीन फाड़ना होगा।

+1

+1: वी-सिंक संदर्भ –

+0

के लिए यह 1/30 तक क्यों इंतजार करना चाहिए? अनुग्रह में धन्यवाद। – drigoSkalWalker

+0

क्योंकि वह तब होता है जब अगला फ्रेम भेजा जाता है (एक सेकंड के 2/60 वें)। यदि आप VSync को अक्षम करते हैं तो आप प्रतीक्षा से बचते हैं, लेकिन फिर कार्ड भेजता हुआ चित्र एक फ्रेम और दूसरे भाग का हिस्सा होगा। –

5

यह सही है। आपको 45 एफपीएस मिलेगा, लेकिन सिस्टम 60 हर्ट्ज (प्रति सेकंड 60 रेड्रॉप्स) मॉनीटर पर चिकनी फ़्रेमेट प्राप्त करने के लिए इसे 30 एफपीएस तक धीमा कर रहा है।

क्योंकि आप एक 60Hz मॉनिटर पर कुछ हर 1/60 सेकंड आकर्षित करने के लिए जरूरत , और आकर्षित नहीं कर सकते हैं एक "आधा फ्रेम", आप पिछले फ्रेम बनानी होगी। तो यदि आप प्रति सेकंड 60 बार एक बार वास्तविक फ्रेम खींचते हैं, और प्रत्येक 2 फ्रेम जो आप पूर्व खींचते हैं, तो आपको 45fps का प्रबंधन करने के बावजूद 30fps मिलते हैं।

+0

60 बार/सेकंड, प्रत्येक 60 सेकंड –

+0

@ जेफरी, आह, टाइपो सही, धन्यवाद –

0

तो हाँ, जैसा कि अन्य ने कहा है, यह आपके ग्राफिक्स के कारण अगले फ्रेम उत्पन्न करने से पहले v-sync के लिए प्रतीक्षा कर रहा है।

कहा ...

सावधान रहें, नहीं सब पर नज़र रखता है 60Hz पर ताज़ा करें। 60 एफपीएस बनाम 30 एफपीएस 70 हर्ट्ज डिस्प्ले पर 70 एफपीएस बनाम 35 एफपीएस बन जाता है।

यदि आप अपने कार्ड को अगले फ्रेम शुरू करने से पहले वी-सिंक की प्रतीक्षा करने के लिए नहीं चाहते हैं, लेकिन फिर भी फाड़ने से बचें, ट्रिपल बफरिंग का उपयोग करें। जीपीयू तब पिंग-पोंग्स को 2 बफर तक प्रस्तुत करता है जबकि तीसरा प्रदर्शित होता है। वी-सिंक इवेंट वह है जो "वर्तमान में समाप्त" बैक बफर को स्वैप करता है। यह अभी भी बहुत अच्छा नहीं है, क्योंकि आप कुछ फ्रेमों के साथ समाप्त होते हैं जो स्क्रीन पर अक्सर दूसरों की तुलना में रहते हैं: आपके 1/45 प्रतिपादन के साथ, एक फ्रेम 1/30 के लिए और अगले 1/60 के लिए रहेगा, कुछ झटकेदार ।

आखिरकार, ऑफस्क्रीन प्रतिपादन (गैर-प्रदर्शित बफर को प्रतिपादित करने) के आगमन के साथ, यह संभव है कि चालक के लिए अगले फ्रेम पर शुरू होने से पहले वी-सिंक की प्रतीक्षा न करें, अगर अगले के प्रारंभिक कार्य फ्रेम प्रदर्शन सतह को छूने के लिए होता है। मुझे नहीं लगता कि मैंने कभी ड्राइवर को देखा है कि वह स्मार्ट हो।

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