{"id":3939,"date":"2018-04-13T19:46:50","date_gmt":"2018-04-13T11:46:50","guid":{"rendered":"http:\/\/www.bookcard.net\/wordpress\/?p=3939"},"modified":"2021-02-14T00:30:59","modified_gmt":"2021-02-13T16:30:59","slug":"fps","status":"publish","type":"post","link":"https:\/\/www.bookcard.net\/wordpress\/fps\/","title":{"rendered":"FPS"},"content":{"rendered":"<figure id=\"attachment_3940\" aria-describedby=\"caption-attachment-3940\" style=\"width: 1024px\" class=\"wp-caption alignnone\"><a href=\"http:\/\/www.bookcard.net\/wordpress\/wp-content\/uploads\/2018\/04\/FPS.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-3940\" src=\"http:\/\/www.bookcard.net\/wordpress\/wp-content\/uploads\/2018\/04\/FPS.jpg\" alt=\"\" width=\"1024\" height=\"768\" srcset=\"https:\/\/www.bookcard.net\/wordpress\/wp-content\/uploads\/2018\/04\/FPS.jpg 1024w, https:\/\/www.bookcard.net\/wordpress\/wp-content\/uploads\/2018\/04\/FPS-300x225.jpg 300w, https:\/\/www.bookcard.net\/wordpress\/wp-content\/uploads\/2018\/04\/FPS-768x576.jpg 768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption id=\"caption-attachment-3940\" class=\"wp-caption-text\">FPS<\/figcaption><\/figure>\n<p>FPS\u5168\u7a31\u70baFrames Per Second.\u7528\u65bc\u7d71\u8a08\u904a\u6232\u8207\u5f71\u7247\u6bcf\u79d2\u7684\u6e32\u67d3\u756b\u9762(\u5e40)\u6b21\u6578.\u6b64\u503c\u8d8a\u9ad8\u756b\u9762\u8d8a\u6d41\u66a2,\u96fb\u5f71\u4ee5\u6bcf\u79d224\u683c\u83f2\u6797\u9032\u884c\u64ad\u653e.\u6240\u4ee5\u4f60\u7684\u904a\u6232\u8981\u6d41\u66a2\u7121\u505c\u9813\u611f.\u9700\u8981\u4e0d\u4f4e\u65bc24\u5e40\u6700\u597d\u9ad8\u65bc30\u5e40.\u7576\u7136\u5e40\u6578\u8d8a\u9ad8\u8d8a\u597d.<\/p>\n<p>FPS\u7b97\u6cd5\u5982\u4e0b:<\/p>\n<p>FPS = 100 * Frequency \/ (currentTime &#8211; startTime);<\/p>\n<p>Frequency\u70ba\u6642\u9418\u983b\u7387. currentTime\u8207 startTime\u70ba\u524d\u5f8c\u5169\u6b21\u6642\u9418<\/p>\n<p>&nbsp;<\/p>\n<p>Windows\u4e0b\u4f60\u9700\u8981\u9ad8\u7cbe\u5ea6\u8a08\u6578\u5668:<\/p>\n<p>\u8fd4\u56de\u786c\u4ef6\u7d1a\u9ad8\u7cbe\u5ea6\u6642\u9418\u983b\u7387,\u82e5\u8fd4\u56de0\u4ee3\u8868\u7cfb\u7d71\u4e0d\u652f\u6301.<\/p>\n<p>BOOL QueryPerformanceFrequency(LARGE_INTEGER *lpFrequency);<\/p>\n<p>\u8fd4\u56de\u786c\u4ef6\u7d1a\u9ad8\u7cbe\u5ea6\u8a08\u6578\u5668,\u82e5\u8fd4\u56de0\u4ee3\u8868\u7cfb\u7d71\u4e0d\u652f\u6301.<\/p>\n<p>BOOL QueryPerformanceCounter (LARGE_INTEGER *lpCount);<\/p>\n<p>LARGE_INTEGER:\u70ba64BIT\u7d50\u69cb<\/p>\n<p>&nbsp;<\/p>\n<p>\u6b64\u5169\u500b\u51fd\u5f0f\u9700\u8981winbase.h\u982d\u6587\u6a94\u548cKernel32.LIB\u5eab<\/p>\n<p>#include &lt;winbase.h&gt;<\/p>\n<p>#pragma comment(lib, &#8220;Kernel32.LIB&#8221;)<\/p>\n<p>&nbsp;<\/p>\n<p>\u5b9a\u7fa9\u5982\u4e0bFPS\u7d50\u69cb:<\/p>\n<p>typedef struct FPS_TYP {<\/p>\n<p>LARGE_INTEGER\u00a0 Frequency;\/\/ \u8a08\u6578\u5668\u7684\u983b\u7387<\/p>\n<p>LARGE_INTEGER\u00a0 startTime;\/\/ \u555f\u52d5\u6642\u9418<\/p>\n<p>float Frames;\/\/ \u6bcf\u79d2\u6e32\u67d3\u5e40\u6578<\/p>\n<p>int n;\/\/ \u81e8\u6642\u5e40\u8a08\u6578\u5668<\/p>\n<p>}FPS,*FPS_PTR;<\/p>\n<p>&nbsp;<\/p>\n<p>\u521d\u6b64\u5316\u9ad8\u7cbe\u5ea6\u5b9a\u6642\u5668<\/p>\n<p>bool Init_FPS(FPS_PTR fps)<\/p>\n<p>{<\/p>\n<p>\/\/ \u8fd4\u56de\u786c\u4ef6\u652f\u6301\u7684\u9ad8\u7cbe\u5ea6\u8a08\u6578\u5668\u7684\u983b\u7387<\/p>\n<p>if (QueryPerformanceFrequency(&amp;fps-&gt;Frequency) == false)<\/p>\n<p>return false;<\/p>\n<p>\/\/ \u7372\u53d6\u555f\u52d5\u6642\u9418<\/p>\n<p>QueryPerformanceCounter(&amp;fps-&gt;startTime);\/\/<\/p>\n<p>return true;<\/p>\n<p>}<\/p>\n<p>&nbsp;<\/p>\n<p>\u8a08\u7b97\u6bcf\u79d2\u6e32\u67d3\u5e40\u6578,\u6bcf100\u5e40\u9032\u884c\u4e00\u6b21\u8a08\u7b97<\/p>\n<p>float Get_FPS(FPS_PTR fps)<\/p>\n<p>{<\/p>\n<p>++fps-&gt;n;<\/p>\n<p>if (fps-&gt;n &gt; 100)<\/p>\n<p>{<\/p>\n<p>LARGE_INTEGER currentTime;<\/p>\n<p>\/\/ \u8fd4\u56de\u9ad8\u7cbe\u5ea6\u8a08\u6578\u5668<\/p>\n<p>QueryPerformanceCounter(&amp;currentTime);<\/p>\n<p>fps-&gt;Frames = (float)100 * (float)fps-&gt;Frequency.QuadPart \/ ((float)currentTime.QuadPart &#8211; (float)fps-&gt;startTime.QuadPart);<\/p>\n<p>fps-&gt;startTime = currentTime;\/\/ \u91cd\u7f6e\u6642\u9593<\/p>\n<p>fps-&gt;n = 0;<\/p>\n<p>}<\/p>\n<p>return fps-&gt;Frames;<\/p>\n<p>}<\/p>\n<p>&nbsp;<\/p>\n<p>\u8ba1\u7b97\u4e24\u6b21\u6d4b\u91cf\u6240\u82b1\u8d39\u65f6\u95f4<\/p>\n<p>float Get_Counter_FPS(FPS_PTR fps){<\/p>\n<p>LARGE_INTEGER currentTime;\/\/\u5f53\u524d\u65f6\u949f<\/p>\n<p>\/\/ \u8fd4\u56de\u9ad8\u7cbe\u5ea6\u8ba1\u6570\u5668<\/p>\n<p>QueryPerformanceCounter(&amp;currentTime);<\/p>\n<p>float seconds = ((float)currentTime.QuadPart &#8211; (float)fps-&gt;startTime.QuadPart) \/ (float)fps-&gt;Frequency.QuadPart;<\/p>\n<p>fps-&gt;startTime = currentTime;<\/p>\n<p>return seconds;<\/p>\n<p>}<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>FPS\u5168\u7a31\u70baFrames Per Second.\u7528\u65bc\u7d71\u8a08\u904a\u6232\u8207\u5f71\u7247\u6bcf\u79d2\u7684\u6e32\u67d3\u756b\u9762(\u5e40)\u6b21\u6578.\u6b64\u503c\u8d8a\u9ad8\u756b\u9762\u8d8a\u6d41\u66a2 &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/www.bookcard.net\/wordpress\/fps\/\" class=\"more-link\">\u7e7c\u7e8c\u95b1\u8b80 <span class=\"screen-reader-text\">FPS<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[51,11],"tags":[3,42],"class_list":["post-3939","post","type-post","status-publish","format-standard","hentry","category-windows","category-algorithm","tag-windows","tag-computer","entry"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.bookcard.net\/wordpress\/wp-json\/wp\/v2\/posts\/3939","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.bookcard.net\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.bookcard.net\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.bookcard.net\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.bookcard.net\/wordpress\/wp-json\/wp\/v2\/comments?post=3939"}],"version-history":[{"count":6,"href":"https:\/\/www.bookcard.net\/wordpress\/wp-json\/wp\/v2\/posts\/3939\/revisions"}],"predecessor-version":[{"id":10080,"href":"https:\/\/www.bookcard.net\/wordpress\/wp-json\/wp\/v2\/posts\/3939\/revisions\/10080"}],"wp:attachment":[{"href":"https:\/\/www.bookcard.net\/wordpress\/wp-json\/wp\/v2\/media?parent=3939"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.bookcard.net\/wordpress\/wp-json\/wp\/v2\/categories?post=3939"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.bookcard.net\/wordpress\/wp-json\/wp\/v2\/tags?post=3939"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}