Computer >> คอมพิวเตอร์ >  >> ระบบ >> Linux

ทำไมเกมบน Linux Stutter? นี่คือเหตุผลที่เป็นไปได้

ทำไมเกมบน Linux Stutter? นี่คือเหตุผลที่เป็นไปได้

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

บางครั้ง OpenGL คือสิ่งเดียวที่คุณมี

OpenGL เป็นวิธีที่ยอดเยี่ยมในการสร้างการเรนเดอร์ 3D ข้ามแพลตฟอร์มโดยไม่ต้องพอร์ตทุกอย่าง หากนักพัฒนาพยายามเผยแพร่เกมสำหรับ Windows, Linux และ Mac เส้นทางดั้งเดิมที่มีความต้านทานน้อยที่สุดคือการมุ่งเน้นที่ความละเอียดรอบคอบที่สุดในกลุ่มประชากรที่ใหญ่ที่สุด (Windows, DirectX) และพอร์ตเกมโดยใช้ OpenGL สำหรับคนอื่นๆ ทำไมเกมบน Linux Stutter? นี่คือเหตุผลที่เป็นไปได้

เนื่องจาก OpenGL ไม่ได้สื่อสารโดยตรงกับ GPU เหมือนกับ DirectX และ Vulkan จึงนำไปสู่การพึ่งพา CPU มากขึ้น และทำให้ประสิทธิภาพลดลงเล็กน้อยในหลายสถานการณ์

เนื่องจากตอนนี้มี MoltenVK สำหรับ Mac และผู้คนสามารถเรียกใช้ Vulkan บนระบบปฏิบัติการยอดนิยมทั้งหมด API ใดที่คุณใช้จึงเป็นทางเลือก ผู้พัฒนาเกมที่ใหม่กว่าสามารถเลือกที่จะละทิ้ง OpenGL ทั้งหมดและเพียงแค่พึ่งพา Vulkan น่าเสียดายที่เกมจำนวนมากที่พอร์ตไปยัง Linux จะยังคงใช้ OpenGL ซึ่งไม่สามารถเทียบได้กับประสิทธิภาพของ DirectX ในสถานการณ์ที่ประสิทธิภาพสูงเป็นสิ่งสำคัญ

Vulkan ยังคงมีสิ่งที่ต้องเอาชนะ

คำตอบของ Linux สำหรับ DirectX คือ Vulkan เป็นผลงานจากองค์กรกว่า 170 แห่งและนักพัฒนาอิสระ ซึ่งในฐานะชุมชนได้ตัดสินใจที่จะจัดหา API ระดับต่ำที่มีประสิทธิภาพสูงซึ่งใช้ได้กับทุกแพลตฟอร์ม นับตั้งแต่เปิดตัวในเดือนกุมภาพันธ์ 2016 เกมดังกล่าวได้กลายเป็นผู้นำและผู้เปลี่ยนเกม (โดยตั้งใจอย่างมาก) สำหรับนักพัฒนากราฟิกทั่วโลก โดยทำได้เหนือกว่าน้ำหนักของมันอย่างมาก และในหลาย ๆ กรณี เหนือกว่าประสิทธิภาพของ DirectX

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

การวิเคราะห์ที่เผยแพร่โดย HWRIG ซึ่งเปรียบเทียบประสิทธิภาพระหว่าง DX12 ของ Windows และ Vulkan โดยใช้เครื่องมือการเปรียบเทียบแสดงให้เห็นว่าแม้ว่า Vulkan จะมีอัตราเฟรมเฉลี่ยสูงกว่า DX 5% แต่อัตราเฟรมต่ำสุดก็ลดลง

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

ตัวอย่างที่ดีคือ Valheim ซึ่งเป็นแซนด์บ็อกซ์เอาตัวรอดที่เปิดตัวในเดือนกุมภาพันธ์ 2021 การบังคับให้เกมทำงานบน Vulkan จะเพิ่มประสิทธิภาพได้อย่างน่าทึ่งเมื่อเทียบกับ DX12

อาจไม่เกี่ยวกับ GPU ด้วยซ้ำ

ใน Linux เช่นเดียวกับใน Windows ประสิทธิภาพของ CPU ของคุณจะได้รับผลกระทบจากการตั้งค่าการจัดการพลังงานของระบบ หากคุณกำลังเล่นเกมที่ใช้ CPU อย่างหนักโดยไม่ต้องใช้ GPU มากนัก (เช่น เกมวาดภาพแผนที่ที่ยิ่งใหญ่อย่าง Hearts of Iron หรือ Europa Universalis) และประสบปัญหาประสิทธิภาพลดลง แสดงว่า Linux อาจกำลังผลักดัน CPU ของคุณ ให้กับผู้ว่าการ "ประหยัดพลังงาน" กรณีนี้เกิดขึ้นบ่อยครั้งหากคุณใช้แล็ปท็อปที่ใช้พลังงานแบตเตอรี่

ทำไมเกมบน Linux Stutter? นี่คือเหตุผลที่เป็นไปได้

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

พอร์ต Linux ยังคงเป็น (ส่วนใหญ่) ในภายหลัง

แม้ว่าส่วนแบ่งของลีนุกซ์ในกลุ่มแพลตฟอร์มเดสก์ท็อปทั้งหมดจะเพิ่มขึ้นอย่างต่อเนื่องในทศวรรษที่ผ่านมาสู่มูลค่าปัจจุบันที่ 2.4% แต่ก็ยังต่ำมากเมื่อเทียบกับผู้นำที่แข่งขันกับแอปเปิลและไมโครซอฟต์ น่าเสียดาย นี่หมายความว่าผู้พัฒนาเกมจำนวนมากจะย้ายผลิตภัณฑ์ของตนไปยัง Linux อย่างรวดเร็วโดยไม่ต้องให้ความสำคัญกับการปรับให้เหมาะสมมากเกินไป ณ จุดนั้น พวกเขามุ่งความสนใจไปที่กำหนดเวลาวางจำหน่ายมากกว่าที่จะดึงเอาฐานผู้เล่นที่มีโอกาสเป็นเปอร์เซ็นต์ถึง 2 เปอร์เซ็นต์

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

ปัญหาเกี่ยวกับไดรเวอร์กราฟิก

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

เพื่อให้ได้เฟรมเรทที่ดีที่สุดสำหรับเกมของคุณ ยกเว้นข้อจำกัดอื่นๆ คุณต้องติดตั้งไดรเวอร์ล่าสุดสำหรับ GPU ของคุณ หากคุณใช้การ์ด Nvidia บน Ubuntu หรือการแจกจ่าย Linux ที่ใช้ Debian อื่นๆ โปรดดูคู่มือของเราเพื่อเรียนรู้วิธีติดตั้งไดรเวอร์ที่เป็นกรรมสิทธิ์

ปัญหาจอภาพสองจอ

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

ทำไมเกมบน Linux Stutter? นี่คือเหตุผลที่เป็นไปได้

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

ในการดำเนินการนี้ ให้ไปที่แผงควบคุมของ Nvidia ไปที่ "ปรับขนาดและตำแหน่งของเดสก์ท็อป" และเลือก "GPU" จากเมนูแบบเลื่อนลงภายใต้ "ดำเนินการปรับขนาด"

ทำไมเกมบน Linux Stutter? นี่คือเหตุผลที่เป็นไปได้

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

คำถามที่พบบ่อย

1. โดยทั่วไปแล้ว OpenGL ไม่ดีหรือไม่

เพียงเพราะ Vulkan และ DX เหนือกว่า OpenGL ในประสิทธิภาพโดยรวม ไม่ได้ทำให้สิ่งหลังไม่เกี่ยวข้อง เกมที่ไม่ต้องอาศัยสภาพแวดล้อมแบบกราฟิกที่มีรายละเอียดมากเป็นหลัก (เช่น Factorio, EU IV, HoI4 เป็นต้น) ไม่ต้องการประสิทธิภาพพิเศษที่ได้รับจาก API ระดับล่าง การย้ายข้อมูลทั้งหมดไปยัง Vulkan นั้นไม่สมเหตุสมผลจากจุดยืนของการพัฒนาในกรณีเหล่านั้น เพราะมันสร้างความน่าเบื่อหน่ายมากมายที่สามารถหลีกเลี่ยงได้โดยใช้บางสิ่งที่เรียบง่าย เช่น OGL

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

2. ผู้ว่าการ CPU คืออะไร

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

3. ฉันจะทำอะไรได้อีกบ้างเพื่อปรับปรุงประสิทธิภาพการเล่นเกมบน Linux

นอกจากคำแนะนำในบทความนี้แล้ว ยังมีอีกหลายสิ่งที่อาจช่วยได้:

  • อัปเดตไดรเวอร์ของคุณเพื่อให้แน่ใจว่าระบบปฏิบัติการรู้วิธีสื่อสารกับ GPU ของคุณอย่างมีประสิทธิภาพสูงสุด
  • ปรับปรุงเคอร์เนลของคุณให้ทันสมัยอยู่เสมอ เพื่อให้ Linux เป็นอุปกรณ์ที่ดีที่สุดสำหรับการทำงานอย่างปลอดภัยและมีประสิทธิภาพกับฮาร์ดแวร์ของคุณ
  • ลองใช้สภาพแวดล้อมเดสก์ท็อปที่แตกต่างกัน เช่น KDE, GNOME, Budgie หรือ LXDE คุณอาจสังเกตเห็นประสิทธิภาพที่ดีขึ้นในบางส่วน ฉันสังเกตเห็นปัญหาด้านประสิทธิภาพบางอย่างของ XFCE ในสภาพแวดล้อมแบบกราฟิกเป็นการส่วนตัว และผู้ใช้ Linux จำนวนมากได้รายงานปัญหาเดียวกัน นั่นคือเหตุผลที่ฉันไม่ได้พูดถึงสภาพแวดล้อมเดสก์ท็อปนี้

บทสรุป

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

ตั้งแต่ช่วงต้นทศวรรษ 2000 ลีนุกซ์มีความก้าวหน้าอย่างมากในหลายแผนก และตอนนี้ก็เริ่มเฟื่องฟูในฐานะระบบปฏิบัติการที่ยินดีต้อนรับผู้ที่ต้องการนำเกมมาสู่ เครดิตจำนวนมากยังต้องไปที่ Steam เพื่อพัฒนา Proton ซึ่งใช้ประโยชน์จากไลบรารีเช่น VKD3D เพื่อสร้างเกมที่เป็นเอกสิทธิ์ของ Windows ที่สามารถเล่นได้อย่างสมบูรณ์บน Linux

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

คุณควรตรวจสอบคุณสมบัติหลักที่ทำให้จอภาพเหมาะสำหรับการเล่นเกม