ภายหลังจาก Hoyoverse (ชื่อเดิมคือ Mihoyo) ผู้พัฒนาเกมมือถือที่เป็นกระแสโด่งดังอย่างมากในช่วงปี 2020 ได้ทำอัพเดทตัวเกมเป็น Version 4.3 เมื่อวันที่ 20 ธันวาคม 2566 ที่่ผ่านมา กลับพบว่ามีผู้เล่นส่วนหนึ่งไม่สามารถเข้าเกมได้ อาการที่เกิดขึ้นคือหลังจากกดปุ่ม launch แล้วตัวเกมไม่ถูกเปิดขึ้นมา
ผู้ใช้ Reddit นามว่า MinusPL ค่อนข้างมั่นใจว่าปัญหาดังกล่าวเกิดจากการรองรับการชุดคำสั่ง SSE 4.1 และ SSE 4.2
แน่นอนว่าผู้มีเล่นที่มีปัญหาเดียวกันนี้มา comment ตอบมากมาย โดยส่วนมากมักจะเป็นผู้เล่นที่ใช้ CPU รุ่นเก่าราว 10 ปีขึ้นไปทั้งสิ้น

ณ วันที่เขียนข่าว (26/12/2566 19.33น.) ทางบริษัท hoyoverse เองยังไม่แจ้งให้ผู้เล่นว่ารับทราบถึงปัญหานี้แล้วและยังไม่มีวิธีแก้ไขออกมาแต่อย่างใด
[แก้ไข] ทางบริษัทได้ประกาศว่าทราบถึงปัญหาดังกล่าวแล้วจะแก้ไขในอัพเดทถัดไปเพื่อให้รองรับอุปกรณ์ดังกล่าว
ผู้เล่นจึงมีหนทางแค่สามทางเท่านั้น
- รอผู้พัฒนาออกแพทอัพเดทตัวเกม
- เล่นเกมบนแพลตฟอร์มอื่น เช่น มือถือ PS 5 หรือ บน Nvidia Geforce Now (Cloud Gaming)
- ซื้อ CPU รุ่นใหม่ (แน่นอนว่าต้องซื้อ Mainboard และ Ram ใหม่ด้วย = =")
Minimum System requirement ตอนเกมเปิดให้บริการวันแรก
Minimum System Requirements Version 4.1
ที่มา : reddit
on
ใช่แล้วแรกเริ่มเพราะเราพบปัญห
aeksael Tue, 26/12/2023 - 19:58
ใช่แล้วแรกเริ่มเพราะเราพบปัญหานี้ แก้ทุกทางไม่หายจนกระทั้งลงOSใหม่ก็ไม่หาย เอะใจแปลกๆละ เลยค้นหาแล้วเจอคนที่เป็นเหมือนกัน
บัคแบบนี้แก้ยาก
Hoo Tue, 26/12/2023 - 22:11
บัคแบบนี้แก้ยาก
ถ้าเป็นที่ คอมไพเรอร์ ก็ตั้งให้ไม่ใช้ SSE
สร้างเป็น _NO-SSE.exe มาแก้ขัด แต่ความเร็วน่าจะตกฮวบ
แต่ถ้า Mihoyo เขียน function assembly เองนี่ หาทางแก้ลำบากแน่
เพราะมันเป็นเฉพาะบางเครื่อง (bug แบบ it work on my machine) 🤔
เอ่อ...ผมไม่ค่อยเข้าใจเลยครับ
aeksael Tue, 26/12/2023 - 22:30
In reply to บัคแบบนี้แก้ยาก by Hoo
เอ่อ...ผมไม่ค่อยเข้าใจเลยครับ มันเป็นบัคหรือครับนึกว่าCPUไม่support ยังไงรบกวนช่วยอธิบายขยายความจะเป็นพระคุณมากครับ
ประมาณว่าต้องเขียนแยก
Hoo Thu, 28/12/2023 - 18:27
In reply to เอ่อ...ผมไม่ค่อยเข้าใจเลยครับ by aeksael
ประมาณว่าต้องเขียนแยก function เดียว 2ครั้งครับ
สมัย MMX ยุคแรกๆ (โห..พูดแล้วแก่)
dev ต้องเขียน 2 แบบคือ ใช้ MMX กับไม่ใช้ MMX
จากนั้นก็ตรวจ CPU ว่ามี MMX มั๊ย
ถ้ามีก็เอา pointer function ชี้ไปที่ function มี MMX
ถ้าไม่มีเอา pointer function ชี้ไปที่ function ไม่มี MMX
เวลาเรียกใช้ก็ให้เรียกผ่าน pointer function เสมอ
ห้ามเรียกเองตรงๆ
บางเกมแยก เป็น game.exe กับ game_MMX.exe ไปเลยก็มี
Genshin Impact มันเป็น Unity
mr_tawan Fri, 29/12/2023 - 21:31
In reply to บัคแบบนี้แก้ยาก by Hoo
Genshin Impact มันเป็น Unity เนี่ยสิครับ ... หรือว่าซื้อ Source License มานะ?
จริง ๆ ไม่ต้องถึงระดับ build แยกหรอกครับ มัน check cpu capability แล้ว if-else บ้านๆ เอาได้ครับ
สมมติถ้าเป็น SDL ก็จะเขียนประมาณ
อ้างอิง SDL_HasSSE41
ถ้าใช้ API อื่นก็อาจจะต้องลง library ที่เช็คแฟล็กตรงนี้ให้แทนได้ครับ เช่น cpuinfo
แต่ผมเดาว่าเค้าอาจจะใช้ 3rd-party library ที่ไม่มี fallback นะ ผมคิดว่าเดฟจำนวนนึงคงไม่คิดว่า เกมเมอร์จะยังใช้เครื่องที่เป็น Core Duo หรือ Jaguar หรือเก่ากว่าอยู่ อะไรแบบนี้ครับ
เกมเมอร์จะยังใช้เครื่องที่เป็
hisoft Fri, 29/12/2023 - 23:20
In reply to Genshin Impact มันเป็น Unity by mr_tawan
เห็นบอกว่าบนโทรศัพท์กินเครื่องมากๆ จน Android เอาแทบไม่อยู่ ผมนึกว่าคอมพวกนั้นเอาไม่อยู่ไปนานแล้วเสียอีก
มันเอาอยู่นะครับและเล่นคอนเท้
aeksael Sat, 30/12/2023 - 00:04
In reply to เกมเมอร์จะยังใช้เครื่องที่เป็ by hisoft
มันเอาอยู่นะครับและเล่นคอนเท้นที่ยากที่สุดของเกมได้ครับ fps 60 ก็จริงแต่เปิด 1%lowจะได้ราวๆ10-20fps ครือเป็น60fpsที่กระตุกนิดๆมึนหัวหน่อยๆเล่น1080p กับการ์ด1050Ti พอได้น่ะครับ
😱
hisoft Sat, 30/12/2023 - 11:45
In reply to มันเอาอยู่นะครับและเล่นคอนเท้ by aeksael
😱 ขอบคุณครับ
ผมลืมคิดไปว่า PS4 เป็น Jaguar
mr_tawan Sat, 30/12/2023 - 04:27
In reply to เกมเมอร์จะยังใช้เครื่องที่เป็ by hisoft
ผมลืมคิดไปว่า PS4 เป็น Jaguar 555
ผมคิดว่า Dev ทราบครับ
aeksael Sat, 30/12/2023 - 00:00
In reply to Genshin Impact มันเป็น Unity by mr_tawan
ผมคิดว่า Dev ทราบครับ เพราะมีการอัพเดท Spec ขั้นต่ำครั้งใหม่ตั้งแต่ 2 แพทต์ที่แล้วครับ 4.1 ราวๆสามเดือนก่อน เพียงแต่ผมอ่านข้ามไปไม่ได้สนใจ คือเกมนี้เก็บสถิติเยอะมากละเอียดยิบย่อยการกระทำเล็กน้อยๆในเกมเก็บหมดทุกอย่างเลยครับ นิสัยผู้เล่น การกระทำต่างๆคาดว่าคงมีประโยชน์ต่อการวางแผนการตลาด ก็เลยคิดว่าทีมงานทราบครับและ cpu ที่มีปัญหาคงเป็นผู้เล่นส่วนน้อย แต่ผมก็ไม่ทราบจริงๆว่าใช้ License Unity แบบไหน
ใช้คำว่า "คิดไม่ถึง"
mr_tawan Sat, 30/12/2023 - 18:55
In reply to ผมคิดว่า Dev ทราบครับ by aeksael
ใช้คำว่า "คิดไม่ถึง" ก็ไม่ถูกจริง ๆ แหละครับ คิดอีกทีคือ เค้าตั้งใจทิ้งผู้เล่นกลุ่มนี้ไปเลยมากกว่า (เพราะว่าจะให้ซัพพอร์ตคอมพิวเตอร์อายุมากกว่า 15 ปีมันก็ยากอยู่นะ)
ส่วนที่มองว่าใช้ unity license แบบที่เข้าถึงซอร์สโค๊ดได้คือ ถ้าผมเข้าใจไม่ผิด ... ใน Unity มันไม่มีคอนฟิกแบบจะใช้ CPU capability สูงมากน้อยแค่ไหนน่ะครับ เลยเดาว่าน่าจะเป็น custom engine code ของ MiHoYo เอง (ซึ่ง license ถูก ๆ มันคอมไพล์โค๊ดเองไม่ได้ไง) แต่ผมอาจจะจำผิดนะ ไม่ชัวร์ขนาดนั้นครับ
เบื้องหลังของ Genshin
big50000 Sat, 30/12/2023 - 22:01
In reply to ใช้คำว่า "คิดไม่ถึง" by mr_tawan
เบื้องหลังของ Genshin แทบไม่ได้รันโค้ดบน C# เลย แต่ใช้ Lua Interpreter ที่ Custom เอง คาดว่าเหตุผลเบื้องหลังคือใช้เพื่อซ่อนโค้ด (Obfuscation) ด้วยความที่ว่าเป็นเกมออนไลน์ที่ประมวลผลที่ฝั่ง Client-side เสียส่วนใหญ่เพื่อประหยัดต้นทุน และเนื่องจากฝั่ง Lua ปรับแต่งได้ยืดหยุ่นกว่าด้วย และค่อนข้างข้ามแพลตฟอร์ม (ของ C# ก็มี MoonSharp เป็นต้น) ผมคิดว่าอาจจะเป็นเพราะตัวรันโค้ดของ Genshin มากกว่าจะเป็น Unity ที่ก่อปัญหา
เปิดหาใน Git จะมีเครื่องมือ RE เพื่อ Genshin โดยเฉพาะเลย อย่าง https://github.com/CallowBlack/genshin-luadec ก็เคยมีอยู่และก็หายไปซะงั้น และยังมีคลิปวิดีโอสอนแฮกอยู่ประปราย ก็เป็นการทำ Injection เข้า Lua ของ Genshin เช่นกัน ซึ่งหลายวิดีโอก็โดน Copyright Strike โดย Hoyoverse อย่างรวดเร็ว
การใช้ pointer function
Hoo Mon, 01/01/2024 - 17:25
In reply to Genshin Impact มันเป็น Unity by mr_tawan
การใช้ pointer function เพื่อหนีการใช้ if ในทุกๆการ call ครับ
เป็นทริคการ optimize ขั้นสูงอย่างนึง
ยิ่งถ้า function นั้นใช้บ่อยๆ เรียก 1000รอบ ก็ if 1000 ที
และผลคือมันทำให้กิน cpu branch predict ไปเพียบด้วย
เขาถึงเล่นท่ายากให้เป็น pointer function แล้ว
initial ด้วย if เพียงครั้งเดียว
ซึ่งถ้า function นั้นเป็นของ unity
ก็น่าจะใช้กระบวนท่านี้อยู่แล้ว เพราะมันกลายเป็นเทคนิคมาตรฐานไปละ
ซึ่ง unity เลิก support ก็จบกัน
น่าจะใส่ชื่อเกมลงไปใน topic
McKay Wed, 27/12/2023 - 00:13
น่าจะใส่ชื่อเกมลงไปใน topic นะครับ อ่านแล้วตกใจคิดว่าเข้าเกมที่ reddit พัฒนาไม่ได้
ปรับพาดหัวครับ -
arjin Wed, 27/12/2023 - 06:36
ปรับพาดหัวครับ - รันเกมอะไรไม่ได้ และเงื่อนไขอะไรที่รันไม่ได้ (ขยายความตรงคนจนมีสิทธิไหมคะ) - ผู้ใช้ Reddit ไม่ใช่ประเด็นหลักในพาดหัว เอาออกไปก็ได้นะครับ
ใส่ชื่อเกมในหัวข่าวก็ดีครับ
LagSeeN Wed, 27/12/2023 - 09:56
ใส่ชื่อเกมในหัวข่าวก็ดีครับ เวลาไปแชร์ลงที่อื่น มันไม่รู้คือเกมอะไร
แก้ไขแลว้ครับขอบคุณทุกท่านครั
aeksael Wed, 27/12/2023 - 16:26
แก้ไขแลว้ครับขอบคุณทุกท่านครับมีอะไรแนะนำเพิ่มเติมได้เลยคับ
พาดหัวโดนเส้นดีครับ ชอบ
twometre Thu, 28/12/2023 - 07:49
พาดหัวโดนเส้นดีครับ ชอบ
cpu เก่าเล่นบน Google Play
animateex Thu, 28/12/2023 - 08:00
cpu เก่าเล่นบน Google Play Games beta ไหวไหม...
ปริญญาไม่มี แต่มี_นะคะ
phenocalypse Thu, 28/12/2023 - 09:29
ปริญญาไม่มี แต่มี_นะคะ
เล่นผ่าน cloud ก็ได้
deaknaew Thu, 28/12/2023 - 09:33
เล่นผ่าน cloud ก็ได้
support ย้อนหลัง 10 ปี ก็เกินปาย
เครื่องมันรันได้อยู่นะครับ
TeamKiller Thu, 28/12/2023 - 09:43
In reply to เล่นผ่าน cloud ก็ได้ by deaknaew
เครื่องมันรันได้อยู่นะครับ เกมอาจจะต้องการขยายกลุ่มคนเล่นให้กว้างไม่ได้ต้องความแรงๆ เพื่อภาพสวยๆ
Hoyo บอกแล้วว่าเป็น SSE4.1
ZeaBiscuit Thu, 28/12/2023 - 11:02
Hoyo บอกแล้วว่าเป็น SSE4.1 จริง แต่เดี๋ยวจะ "พยายาม" optimize ให้เล่นได้่
จริงๆมันก็มีบอกอยู่ใน minimum system requirement นะ
รบกวนขอลิ้งค์ทีครับ
aeksael Thu, 28/12/2023 - 11:16
In reply to Hoyo บอกแล้วว่าเป็น SSE4.1 by ZeaBiscuit
รบกวนขอลิ้งค์ทีครับ จะเอาไปอ้างอิงในข่าว
https://genshin.hoyoverse.com
nessuchan Thu, 28/12/2023 - 13:49
In reply to รบกวนขอลิ้งค์ทีครับ by aeksael
https://genshin.hoyoverse.com/en/news/detail/103699
ไม่ได้บอกตรง ๆ ว่า จะต้องเป็น CPU ที่มี SSE 4 แต่บอกว่า Minimum i5 or equivalent
ซึ่ง SSE4 มีมาตั้งแต่สมัย Penryn หรือ สมัย Core 2 Duo เลย ตอนนั้นมี 4.1 ถ้าเป็น Core i เป็นต้นมาก็จะมี 4.2
ฝั่ง AMD ต้องเป็น Jaguar ขึ้นไป ถึงจะมี 4.1 4.2 ก่อนหน้าจะเป็น 4a
https://www.hoyolab.com
ZeaBiscuit Thu, 28/12/2023 - 20:16
In reply to รบกวนขอลิ้งค์ทีครับ by aeksael
https://www.hoyolab.com/article/23871588
อันนี้เลยครับ
มีแจ้งมาด้วยว่า CPU ขั้นต่ำ
NoppawanConan Thu, 28/12/2023 - 21:07
In reply to https://www.hoyolab.com by ZeaBiscuit
มีแจ้งมาด้วยว่า CPU ขั้นต่ำ ต้องเป็น i5 Gen 4 หรือ AMD Ryzen ขึ้นไป
ขอบคุณค๊าฟฟ
aeksael Thu, 28/12/2023 - 22:23
In reply to https://www.hoyolab.com by ZeaBiscuit
ขอบคุณค๊าฟฟ
ผมใช้ athlon x4 845 (รุ่นก่อน
redondo16 Thu, 28/12/2023 - 13:26
ผมใช้ athlon x4 845 (รุ่นก่อน ryzen เปิดตัว) ยังเล่นได้ ดูใน cpuz มี sse4.1 sse4.2 รอดไปยังไม่ต้องยกเครื่องใหม่
ถ้าเก่ากว่านี้แล้วมีปัญหาคงซีรี่ย์ Phenom ละมั้ง
น่าจะใช่แหละครับผมใช้ Phenom
aeksael Thu, 28/12/2023 - 17:19
In reply to ผมใช้ athlon x4 845 (รุ่นก่อน by redondo16
น่าจะใช่แหละครับผมใช้ Phenom x6 1055T เล่นได้มาตลอด เพิ่งจะมามีปัญหา4.3นี่ล่ะครับ minimumดันไม่ได้บอกฝั่งAMDเสียด้วย
รอดตัวไป ใช้i5 2500อยู่
Earth27041 Fri, 29/12/2023 - 16:33
รอดตัวไป ใช้i5 2500อยู่ เห็นว่าcpuเก่า10ปีขึ้นไปอาจไม่รอด โชคดีตัวนี้12ปีแต่ยังมีSSE4 55+
ต้องลองดูครับว่าเล่นได้จริงไห
aeksael Fri, 29/12/2023 - 19:50
In reply to รอดตัวไป ใช้i5 2500อยู่ by Earth27041
ต้องลองดูครับว่าเล่นได้จริงไหมเพราะขั้นต่ำบอกว่าGen 4th
แต่2500นี่รุ่นเดียวกัน x6ของผมเลย ความแรงคู่คี่กันแค่ตอนนั้นผมอยากลองAMDแล้วก็ไม่ได้ตั้งใจเอามาเล่นเกม = ="