ผู้เล่น GTA Online นามว่า t0st เกิดข้อสงสัยว่าทำไมเวลาโหลดเข้าเล่น GTA Online ของเขา ถึงยาวกว่าการโหลดเข้าเล่น Story Mode ถึง 6 เท่าด้วยกัน (1 นาทีกว่า เทียบกับ 6 นาที) เขาจึงลงมือค้นหาว่าปัญหามาจากไหนกันแน่ และพบว่าปัญหานั้นมาจากโค้ดของ Rockstar ที่ทำให้เกิดคอขวดบนซีพียู
t0st ที่ใช้ซีพียู AMD-FX8350 ทำการค้นหาปัญหาโดยใช้ตัว Profiler ชื่อ Luke Stackwalker ก่อนจะพบปัญหาคอขวดบนซีพียูเธรดเดียว และพบว่าเกมมีปัญหาในการ parse ไฟล์ JSON ขนาด 10MB เพราะตัว parser ถูกเขียนมาได้ไม่ค่อยดีนัก กับอีกปัญหาคือหลัง parse ไฟล์เสร็จ ตัวโค้ดยังพยายามทำ duplication check ซึ่งกินเวลานานอีกด้วย
หลังจาก t0st แก้ปัญหาทั้งสองอย่างนี้ (อ่านรายละเอียดการแก้ปัญหาแบบเต็มได้ที่บล็อกของ t0st) เวลาโหลดเข้าเกมก็ลดลงจาก 6 นาที เหลือเพียง 1 นาที 50 วิ หรือลดลงไปถึง 69.4% เลยทีเดียว
ทีมงาน Rockstar เข้ามาตรวจสอบวิธีการแก้ไขของ t0st พบว่าโค้ดมีปัญหาจริง และวิธีแก้ของ t0st ใช้ได้จริง จึงมอบเงินรางวัล 10,000 ดอลลาร์ จากโครงการค้นหาบั๊กเกี่ยวกับความปลอดภัยในเกมให้เป็นกรณีพิเศษ รวมถึงบอกว่าจะนำวิธีแก้นี้ไปอัพเดตในแพทช์อย่างเป็นทางการในอนาคต และกล่าวขอบคุณ t0st สำหรับวิธีแก้ปัญหา
เป็นอีกครั้งที่ชุมชนผู้เล่นต้องลงมาแก้บั๊กในเกมด้วยตัวเอง ซึ่งเป็นเรื่องดีที่คราวนี้ Rockstar มองเห็น ตบรางวัลให้ และเตรียมนำวิธีแก้ไปใช้จริง อย่างไรก็ตาม เสียงตอบรับเกม GTA Online ในไทย ในปัจจุบัน ยังมีผู้เล่นจำนวนมากพบผู้เล่นที่ใช้โปรแกรมโกงเกมอยู่ ซึ่ง Rockstar คงต้องดำเนินการแก้ไขปัญหากันต่อไป
Comments
เจ๋งดีครับ
คารวะ 3 จอก
เพิ่มเงินรางวัลอีกนิดก็ได้มั้ง
เรื่องนี้คนบ่นเยอะมาก มาหลายปีแล้ว
ว่าแต่ทีม RAGE เค้าจะเขียน parser ใหม่เลยหรือเปล่านะ ?
ปัญหาเข้าเกมออนไลน์ช้าเป็นตั้งแต่วันเปิดตัว
ณ วันนี้ ยังเป็นปัญหาอยู่เลย
ขอบคุณท่านมากที่แก้ปัญหาได้
ขอคาราวะ 1 จอก
ไม่รู้ว่าทีมงานพยายามแก้แต่หาต้นเหตุไม่เจอหรือไม่เคยพยายามแก้กันแน่ แต่ก็เป็นแอคชั่นที่ดีนะครับ ตบรางวัลงามๆ ให้คนหา ในมุมบริษัทก็ไม่ได้ต้องจ่ายเยอะเท่าไหร่
มาคิดอีกที ผมเดาว่า เค้าน่าจะใช้ 3rd-party parser (ในเมื่อมีคนเขียนไว้อยู่แล้วจะเขียนทำไมให้เมื่อยตุ้ม?) ถ้าจะเปลี่ยนก็คงเปลี่ยนไปใช้ parser ที่ใหม่กว่า performance ดีกว่า อะไรแบบนี้ หรือไม่ก็ไปพวก bson ไปเลยก็อาจจะยังได้
งงมากกว่ากับงานระดับนี้ไม่เคยมีการทำ profilling ตอนโหลดเลยเหรอ
น่าจะโดนระดับสูงกว่าบอกว่าให้ไปทำเนื้อหามาเพิ่มใน GTAO (รถ อาวุธ โหมดใหม่ๆ ที่ไม่เป็นมิตรกับคนไม่เติมเงิน) เพื่อขาย Shark Card แทนที่จะมาแก้อันนี้ครับ
เห็นวิธี debug ตรวจ Code ของคุณ t0st จากต้นทางแล้วอย่างโหดแฮะ
เลยต้องลองเข้าไปอ่านตาม
แล้วเห็น มีอัพเดต ว่า rockstar อัพเดตแล้วด้วย
เก่งมาก ?? แปลกมากว่าถ้ามันช้าน่าจะเช็คตั้งนานหรือตรวจสอบโค้ดบ้างไหม
มือใหม่!! ใหม่จริงๆนะ
เกมมันโหลดนานขนาดนั้นเลยรึ ตกใจอย่างแรง!
The Last Wizard Of Century.
สุดยอด
That is the way things are.
เก่งสุดๆ
..: เรื่อยไป
6 นาที ทำไปได้