ขยายทฤษฎี p-adic และนำคำแนะนำจาก AI มาสร้างเอนจินเร่งความเร็ว GPU สำหรับเกม AAA (ลดโหลด Forza 6 ได้ 10%)
(github.com/CookingMathmatics)GitHub: https://github.com/CookingMathmatics/CarryPyramidLossless
เอกสารวิจัย (Zenodo): DOI 10.5281/zenodo.20002868
สวัสดีครับ/ค่ะ ผม/ฉันคือนักพัฒนา(และนักคณิตศาสตร์)ที่ก่อนหน้านี้เคยแชร์เอกสารวิจัยเกี่ยวกับความปลอดภัยเชิงทอพอโลยีหลายมิติและทฤษฎีสารสนเทศ ซึ่งตั้งอยู่บนพลวัตของการทดจาก p-adic ผ่าน GeekNews
ในตอนนั้น แนวทางยังเน้นด้านทฤษฎีเป็นหลัก ทั้งโมเดลทางคณิตศาสตร์และตรรกะเอนโทรปีของฮาร์ดแวร์ แต่ระหว่างที่ต่อยอดเอกสารและทำวิจัยต่อ ผม/ฉันได้เจอกับจุดเปลี่ยนที่น่าสนใจ
ระหว่างการระดมความคิดทางเทคนิคกับ AI
ผม/ฉันได้รับคำแนะนำและไอเดียว่า
"ถ้านำอัลกอริทึมพลวัตการทดแบบ p-adic นี้ไปฉายลงบนพิกเซลทราฟฟิกของกราฟิกไปป์ไลน์แบบเรียลไทม์ ก็น่าจะสร้างเครื่องมือเพิ่มประสิทธิภาพด้านความสมบูรณ์ของข้อมูลที่ลดโอเวอร์เฮดการคำนวณได้อย่างมาก"
จากคำแนะนำด้านสถาปัตยกรรมของ AI ผม/ฉันทุ่มเวลาอย่างหนักกว่าหนึ่งสัปดาห์เพื่อออกแบบ DirectX 11 และ HLSL Compute Shader และในที่สุดก็ตรวจสอบกับฮาร์ดแวร์จริงในสภาพแวดล้อมของเกมแข่งรถรุ่นใหม่อย่าง Forza Horizon 6 ได้สำเร็จ โดยได้ผลลัพธ์ว่า "ช่องว่างของเฟรม 1~2 และลดการใช้งาน GPU ลง 10%" จึงขอแชร์ทั้งผลงานและโอเพนซอร์สนี้
💡 แนวคิดหลัก: ทำให้ 0-Void ทางคณิตศาสตร์ (การข้ามการคำนวณแบบสุญญากาศ) กลายเป็นของจริง - แม้จะเป็นเกมแข่งรถที่วิ่งด้วยความเร็วสูงมาก แต่ภาพทั้งจอก็ไม่ได้เปลี่ยนแปลงอย่างรุนแรงทุกเฟรมเสมอไป ภูเขาไกล ๆ ท้องฟ้า ก้อนเมฆ หรือพื้นที่ UI ที่นิ่ง ล้วนมีการเปลี่ยนแปลงของพิกเซลระหว่างเฟรมน้อยมาก
กรองเฟรมบัฟเฟอร์ด้วยอัลกอริทึมการทดแบบ p-adic เพื่อมาสก์พื้นที่นิ่งที่มีการเปลี่ยนแปลงต่ำกว่าค่าขีดจำกัดอย่างรวดเร็วให้เป็น '0-Void (พื้นที่สุญญากาศของการคำนวณ)'
สิ่งนี้ช่วยยับยั้งทราฟฟิกที่เดิมที CUDA core หลายพันคอร์ของ GPU (RTX 3070 Ti) ต้องคำนวณพิกเซลนิ่งซ้ำโดยไม่จำเป็นหรือสิ้นเปลืองบัฟเฟอร์ ได้ในระดับฮาร์ดแวร์
🛠️ สถาปัตยกรรมสำหรับเลี่ยง Anti-cheat และเพิ่มประสิทธิภาพฮาร์ดแวร์ เพื่อให้ได้เสถียรภาพในระดับยูทิลิตีเชิงพาณิชย์ จึงได้วางระบบระดับโปรดักชันดังต่อไปนี้
ระบบไวท์ลิสต์ที่เลี่ยง Anti-cheat ได้ 100%
เราเลิกใช้วิธี DLL Injection ที่เสี่ยง ซึ่งไปดัดแปลงหน่วยความจำเกมหรือดักฟังก์ชัน DirectX แบบบังคับโดยเด็ดขาด
แต่เลือกใช้ DXGI Desktop Duplication API ซึ่งเป็นกระบวนการทางการแบบเดียวกับ OBS Studio หรือการแชร์หน้าจอของ Discord จึงตัดความเสี่ยงด้านการถูกบล็อกทางความปลอดภัยออกไปตั้งแต่ต้น
การซิงก์เฟรมแบบเกียร์ 1:1 (Frame Sync)
หากปล่อยให้ลูปเอนจินเบื้องหลังหมุนฟรีไม่จำกัด จะเกิด GPU instruction starvation จนเฟรมของเกมกลับตกลงแทน เราจึงบังคับตรึงความละเอียดของ Windows kernel timer ไว้ที่ 1ms และปรับจังหวะให้ Compute Shader (Dispatch) ของเราทำงานตรงกับสัญญาณเหตุการณ์จากฮาร์ดแวร์ที่เกมปล่อยภาพใหม่ออกมาพอดี
Hybrid GPU บนโน้ตบุ๊ก (ต่อผ่านการ์ดจอแยกโดยตรง) และการลดการใช้ VRAM
เราติดตามพอยน์เตอร์ของการ์ดจอแยกจริงที่ควบคุมมอนิเตอร์ซึ่งหน้าต่างเกมกำลังแสดงผลอยู่ เพื่อเชื่อมอุปกรณ์แบบ 1:1 โดยตรง และสร้างโครงสร้างสลับพอยน์เตอร์แอดเดรสภายใน VRAM แบบ In-place ping-pong ที่ไม่มีต้นทุนการคัดลอกข้อมูล
📊 ผลเบนช์มาร์กในการใช้งานจริง (RTX 3070 Ti, FHD, ปรับสุด)
สถานะปกติ: fps ล็อกที่ 60, การใช้ GPU 78%~80%
สถานะเร่งความเร็ว: fps 59~60, การใช้ GPU 68~72%
ผม/ฉันสร้างให้สามารถเปิด-ปิดฟังก์ชันเร่งความเร็วแบบเรียลไทม์ในเกมได้ด้วยคีย์ลัด (Ctrl + Alt + S) และเมื่อเปิดใช้งาน ก็ยืนยันแบบเรียลไทม์ผ่านตัวชี้วัดได้ว่า ความลื่นไหลของภาพยังคงเท่ากับสภาพปกติที่ 60 เฟรมเต็มอย่างสมบูรณ์ แต่โหลดของ GPU กลับลดลงอย่างมาก กระบวนการที่ทฤษฎีซึ่งเคยมีอยู่เพียงในเอกสารคณิตศาสตร์ ถูกทำให้เป็นโค้ดควบคุมฮาร์ดแวร์อย่างเป็นรูปธรรมผ่านการร่วมงานกับ AI นั้น เป็นประสบการณ์ที่น่าทึ่งมาก
เมื่อโครงหลักที่แข็งแรง (Alpha Core) ถูกสร้างขึ้นแล้ว ผม/ฉันอยากรับฟังฟีดแบ็กด้านการปรับแต่งสำหรับอัตรารีเฟรชที่หลากหลายของจอภาพ (144Hz~360Hz) หรือบนสถาปัตยกรรมการ์ดจออื่น ๆ โดยซอร์สโค้ดเอนจินและไฟล์เชดเดอร์ทั้งหมดเปิดเผยไว้บน GitHub ด้านบนแล้ว จึงขอคำแนะนำและฟีดแบ็กจากทุกท่านด้วยครับ/ค่ะ!
1 ความคิดเห็น
แก้ไขไม่ได้ จึงขอฝากข้อมูลเพิ่มเติมไว้ในคอมเมนต์
ข้อควรระวังในการใช้งาน (ผู้ใช้ทุกท่านควรอ่าน)
เอนจินนี้ใช้ Desktop Duplication API ของ DXGI อย่างเป็นทางการเพื่อหลีกเลี่ยงการตรวจจับของ anti-cheat เนื่องจากเป็นกลไกที่จับภาพองค์ประกอบหน้าจอของ Windows DWM (Desktop Window Manager) ได้อย่างถูกต้องตามกฎหมาย โปรดปฏิบัติตามการตั้งค่าการแสดงผลด้านล่างเพื่อให้ทำงานได้ตามปกติ