GPU पेज ट्रैकर
वैकल्पिक पेज ट्रैकर 16 KiB के गेस्ट पेज की निगरानी करता है। पहला नेटिव CPU लेखन फ़ॉल्ट करता है, एक पीढ़ी आगे बढ़ाता है, और GPU कॉपी अमान्य करता है, ताकि बिना बदले पेज हर फ़्रेम हैश और अपलोड न हों।
10 अक्टूबर 2026 तक के रिपॉज़िटरी नोट्स
यह कौन-सी समस्या हल करता है
गेस्ट मेमोरी में रहने वाले रेंडर टारगेट या वर्टेक्स बफ़र को GPU तक पहुँचना होता है। हर फ़्रेम पूरा आवंटन अपलोड करना सही है पर महँगा है। यह पता लगाने के लिए कि वह बदला नहीं, पूरे आवंटन को हैश करना भी महँगा है। पेज ट्रैकर इसके बजाय ट्रैक किए जाने वाले लिखने योग्य पेज को केवल-पढ़ने योग्य बनाता है और CPU को पहले लेखन पर फ़ॉल्ट करने देता है।
फ़ॉल्ट हैंडलर पेज दर्ज करता है, गेस्ट की असली सुरक्षा लौटाता है, और उस पेज की पीढ़ी आगे बढ़ाता है। बाद का ड्रॉ पीढ़ियों की तुलना करता है। बिना बदला पेज डिवाइस पर रहता है। जिस पेज की पीढ़ी बढ़ी वह अपलोड होता है। PS5_GPU_PAGE_TRACKER=1 यह तंत्र चालू करता है। यह वेरिएबल या प्रयोगात्मक बंडल सेट न हो तो यह बंद रहता है।
फ़ॉल्ट क्या है
फ़ॉल्ट एक अमान्यकरण है, गेस्ट का बग नहीं। पेज केवल इसलिए केवल-पढ़ने योग्य था ताकि होस्ट लेखन देख सके। फिर गेस्ट लेखन को गेम द्वारा माँगी गई सुरक्षा के तहत पूरा होने दिया जाता है। ट्रैक न किए गए पेज सामान्य अपलोड पथ रखते हैं।
उसी पते, आकार, भौतिक ऑफ़सेट और CPU अनुमतियों के साथ दोबारा बनाई गई डायरेक्ट-मेमोरी मैपिंग अपने होस्ट व्यू रखती हैं। यही पुनःउपयोग पीढ़ी को फ़्रेम के पार अर्थपूर्ण बनाता है। आधार या अनुमतियों का बदलाव सामान्य प्रतिस्थापन पथ लेता है और ट्रैकर नई मैपिंग देखता है।
यह क्या नहीं करता
ट्रैकर गेम का आंतरिक रिज़ॉल्यूशन छोटा नहीं करता, और शेडर कम्पाइल नहीं करता। यह केवल उन पेज के दोहराए ट्रांसफ़र हटाता है जिन पर CPU ने नहीं लिखा। जो गेम हर फ़्रेम कोई बफ़र दोबारा लिखता है वह उस बफ़र की क़ीमत फिर भी चुकाता है।
फ़ॉन्ट एटलस लेखन और दूसरे HLE लेखन गेस्ट मेमोरी बदलने से पहले निगरानी अमान्य करते हैं, इसलिए फ़र्मवेयर का लेखन GPU से छिपा नहीं रहता। ट्रैकर आर्किटेक्चर अवलोकन में बताए गए प्रयोगात्मक GPU सेट का हिस्सा है।
क्या लागू है
- PS5_GPU_PAGE_TRACKER=1 होने पर 16 KiB के गेस्ट पेज के लिए प्रति-पेज पीढ़ियाँ।
- गेस्ट सुरक्षा लौटाने और मेमोरी में बनी कॉपी अमान्य करने वाला पहला-लेखन फ़ॉल्ट।
- समान डायरेक्ट-मेमोरी व्यू का पुनःउपयोग ताकि पीढ़ियाँ फ़्रेम के पार बनी रहें।
- HLE ख़ुद निगरानी वाले पेज पर लिखे तो अमान्यकरण।
क्या अब भी बाक़ी है
- ट्रैकर वैकल्पिक है। डिफ़ॉल्ट संगतता पथ इस पर निर्भर नहीं है।
- CPU द्वारा हर फ़्रेम दोबारा लिखे जाने वाले पेज फिर भी अपलोड होते हैं।
- यह कम्प्रेस्ड मेटाडेटा सतह के भीतर GPU-से-GPU सुसंगतता कवर नहीं करता।
संबंधित तंत्र
ये पेज क्या हैं