เราจะทำการปรับปรุงวิธีการใช้งานหน่วยความจำวิดีโอของท่านใน Path of Exile ในเร็วๆ นี้นะคะ โดยที่โพสต์นี้จะอธิบายผลที่จะเกิดขึ้นต่อการเล่นของท่าน กับเวลาที่แพทช์นี้จะออกค่ะ

การ์ดจอจะมีหน่วยความจำวิดีโอจำนวนหนึ่ง (Video RAM หรือ VRAM) ซึ่งถูกใช้เพื่อเก็บแอสเซ็ต (Asset) ต่างๆ ที่เราเรนเดอร์ให้กับฉากปัจจุบันภายในเกม หาก VRAM ของท่านหมดไปขณะที่เล่นอยู่ในตัวเรนเดอร์ปัจจุบันของเรา นั่นก็คือ DirectX 11 เกมนั้นจะยังสามารถเล่นได้ตามปกติ แต่เฟรมเรทของท่านจะลดลง เพราะว่ามันจะต้องเรนเดอร์แอสเซ็ตที่อยู่ในหน่วยความจำระบบนั่นเอง นั่นหมายความว่าไดรเวอร์การ์ดจอจะต้องย้ายแอสเซ็ตกลับไปกลับมาระหว่างหน่วยความจำหลักกับ VRAM ซึ่งทำให้อะไรหลายๆ อย่างช้าลงไปกว่าเดิมค่ะ นั่นแปลว่าผู้ใช้งานที่มี VRAM ไม่มากพอที่เล่นด้วยตัวเรนเดอร์ DirectX 11 จะประสิทธิภาพที่ย่ำแย่พอสมควร

ถึงแม้ว่าตัว API ที่เรนเดอร์ผ่าน Vulkan นั้นจะมีผลทางบวกในเชิงประสิทธภาพอยู่มากมาย แต่มันไม่มีทางออกฉุกเฉินปกติที่จะบังคับใช้หน่วยความจำระบบอย่างใน DirectX 11 และพฤติกรรมปกติของมันคือการทำให้เกมค้างเมื่อไม่มีหน่วยความจำเพียงพอ มันเป็นผลให้ตอนที่เราออกเบต้าของตัวเรนเดอร์ Vulkan มาในช่วงแรกเริ่ม ผู้เล่นบางคนจะเกิดอาการเกมค้างเมื่อเล่นไปถึงจุดที่ใช้หน่วยความจำจำนวนมาก

ในเมื่อการที่เกมค้างหรือการที่มีประสิทธิภาพถดถอยเป็นอย่างหนักนั้นไม่เป็นผลดีต่อประสบการณ์ในการเล่นเกม มันจึงเป็นเรื่องสำคัญที่เอ็นจิ้นตัวเกมจะต้องจัดการว่าแอสเซ็ตใดอยู่ในหน่วยความจำ ด้วยการถ่ายแอสเซ็ตที่ไม่ถูกใช้งานในช่วงที่ผ่านมาและไม่คิดว่าจะได้ใช้งานต่อไปในเร็วๆ นี้ ในช่วงหนึ่งปีที่ผ่านมา เราได้เพิ่มระบบที่ถ่ายข้อมูลแอสเซ็ตที่เกมไม่คิดว่าจะต้องการในอนาคตอันสั้น เพื่อคุมการใช้งาน VRAM ให้อยู่ในระดับระมัดระวัง ซึ่งระบบนี้ช่วยจัดการปัญหาเกมค้างและเกมช้าจากการใช้งาน VRAM มากเกินไป แต่โชคร้ายนักที่มันกลับนำปัญหาอื่นๆ เข้ามาเกี่ยวกับวงจรชีวิตของแอสเซ็ตในหน่วยความจำ

ในเมื่อปัจจุบันนี้แอสเซ็ตเหล่านี้ถูกโหลดและถูกถ่ายข้อมูลออกไปโดยอัตโนมัติขณะที่เล่น เราจึงปรับให้เอ็นจิ้นสามารถโหลดแอสเซ็ตได้โดยไม่เรียงลำดับโดยไม่ทำให้การเรนเดอร์ช้าลง ก่อนหน้านี้มันคงจะทำให้กระตุกเละเทะ เพราะว่าในอดีตเอ็นจิ้นนี้เคยค้างจนกว่าแอสเซ็ตใหม่จะถูกโหลดเข้าไปอย่างสมบูรณ์

แต่ว่าเราจะแสดงผลอะไรออกมาได้ หากภาพพื้นผิวนั้นยังไม่ถูกโหลดเข้าไป? เพื่อไม่ให้เราได้แสดงผลภาพพื้นผิวสีดำสนิท เราจึงเพิ่มเทคนิคที่เรียกว่าการโหลดภาพพื้นผิวระหว่างเล่น (Texture Streaming) ที่มิประดับที่ต่ำที่สุด (ว่าง่ายๆ ว่าเวอร์ชั่นที่มีรายละเอียดต่ำ) ของภาพพื้นผิวแต่ละภาพอยู่ในหน่วยความจำเสมอ เพื่อให้เราสามารถแสดงภาพสิ่งที่ดูจะเหมาะสมที่สุดได้เร็วยิ่งไปกว่าเดิม ซึ่งมันเป็นผลดีไปกว่าทางเลือกอื่นที่จะทำให้เฟรมเรทตกอย่างหนัก หรือไม่มีการวาดภาพพื้นผิวใดๆ แม้แต่น้อย ถึงแม้ว่าการโหลดภาพพื้นผิวระหว่างเล่นนั้นจะเป็นการปรับปรุงภาพที่ไม่มีอันตรายใดๆ แต่ว่ามันมักถูกมองว่าเป็นต้นเหตุของปัญหาต่างๆ ที่เกี่ยวข้องกับการที่เกมถ่ายข้อมูลแอสเซ็ตตัวที่มันไม่ควรจะถ่ายออกไป ทั้งที่จริงมันไม่ได้เป็นต้นเหตุแม้แต่น้อย

เมื่อไม่กี่ย่อหน้าก่อน เราอธิบายการใช้งาน VRAM ภายใต้ระบบนี้ว่าใช้อย่างระมัดระวัง นั่นแปลว่าระบบปัจจุบันของเราจะไม่ฮุบเอา VRAM ทั้งหมดของคุณไปใช้อย่างแข็งขัน และเหตุนี้ทำให้ผู้เล่นไม่พอใจที่แอสเซ็ตต่างๆ ถูกถ่ายข้อมูลออกไปเร็วกว่าที่ควร (ตัวอย่างเช่น เมื่อท่านสังเกตว่าไอเทมบางชิ้นนั้นเบลอๆ เป็นเวลาสั้นๆ)

ทีมเอ็นจิ้นของเรากำลังทำงานเพื่อให้มีระบบการใช้งานที่ดีกว่านี้ ที่จะใช้ VRAM อย่างแข็งขันเพื่อให้เก็บแอสเซ็ตให้มากที่สุดเท่าที่จะทำได้ ซึ่งมันเป็นเรื่องดี เพราะว่าผู้เล่นที่มีการ์ดจอระดับกลางถึงสูงจะพบการถ่ายข้อมูลแอสเซ็ตน้อยกว่าในปัจจุบัน แน่นอนค่ะว่ามันขึ้นอยู่กับว่าท่านจะมี VRAM เท่าไร แต่ปัญหาที่เกี่ยวข้องกับการถ่ายข้อมูล/การโหลดพื้นผิวระหว่างเล่นจะถูกกำจัดไปเป็นส่วนมากสำหรับผู้เล่นหลายๆ คน และแน่นอนว่าการเปลี่ยนแปลงดังที่ระบุไว้ด้านบนจะทำให้ผู้เล่นที่มีการ์ดจอระดับล่างไม่เกิดอาการเกมค้างหรือเฟรมเรทตกเมื่อ VRAM ของพวกเขาหมดไปนั่นเอง

เราวางแผนกันเบื้องต้นว่าจะออกอัพเดทนี้ในแพทช์เอ็นจิ้นถัดไปของเรา ซึ่งตอนแรกมีกำหนดว่าจะออกแพทช์นี้ในหนึ่งหรือสองสัปดาห์ก่อนที่จะออกภารเสริม 3.15 ในเดือนกรกฎาคม แต่ว่าตอนนี้เราไม่พอใจกับสถานการณ์ในปัจจุบันเป็นอย่างมาก เราจึงลงทุนลงแรงอย่างหนักเพื่อให้ได้ออกฟีเจอร์นี้ในเร็วๆ นี้ (อย่างเร็วที่สุดคือในสัปดาห์ถัดไป แต่เราจะอัพเดทเวลาที่คาดการณ์กันไว้ในขณะที่ทำการทดสอบกันต่อไปค่ะ)

การเปลี่ยนแปลงนี้ไม่ใช่ยาครอบจักรวาลสำหรับปัญหาทางด้านกราฟิกหรือประสิทธิภาพภายในเกมทั้งหมด แต่มันจะส่งผลให้อะไรๆ ในเกมนั้นให้ความรู้สึกดีขึ้นเป็นอย่างมากสำหรับผู้เล่นส่วนใหญ่ ทีมเอ็นจิ้นของเราจะตามหาปัญหาเพิ่มเติมแล้วทำการแก้ไขให้เรียบร้อยค่ะ ขอขอบคุณทุกท่านที่ช่วยให้ความเห็นและให้การรายงานกับพวกเรามาโดยตลอดนะคะ
โพสต์โดย 
เมื่อ
Grinding Gear Games

รายงานโพสต์

รายงานบัญชี:

ประเภทรายงาน

ข้อมูลเพิ่มเติม