หากคุณชอบติดตามเทคโนโลยีล่าสุดคุณคงเคยได้ยิน Vulkan Vulkan API เป็น API กราฟิกล่าสุดและยิ่งใหญ่ที่สุดที่ประกาศโดย Khronos Group ซึ่งเป็นผู้อยู่เบื้องหลัง OpenGL มาตรฐานอุตสาหกรรมปัจจุบัน ชื่อโครงการ Vulkan ได้รับการประกาศอย่างเป็นทางการในการประชุม Game Developers 'Conference ในปี 2015 และ API รุ่นแรกเปิดตัวในเดือนกุมภาพันธ์ 2559 API ใหม่นี้มีวัตถุประสงค์เพื่อนำกราฟิกเกมไปสู่อีกระดับหนึ่งดังนั้นหากคุณสนใจ รายละเอียดเราอยู่ที่นี่เพื่อมอบให้คุณ
เราพูดถึง Vulkan API ว่าแตกต่างจาก OpenGL รุ่นก่อนอย่างไรและ Vulkan API อาจเปลี่ยนวิธีที่เกมและแอพพลิเคชั่นกราฟิกเข้มข้นอื่น ๆ ได้รับการพัฒนาในอนาคตอันใกล้ อ่านต่อเพื่อสำรวจเกี่ยวกับการพัฒนาที่น่าตื่นเต้นในโลกแห่งการเรนเดอร์และกราฟฟิค
Vulkan API คืออะไร
สองสามปีก่อนที่เอเอ็มดีได้แสดงให้เห็นว่าแมนเทิลซึ่งเป็น API ที่กำหนดเป้าหมายในเกมสามมิติและในขณะที่มันแสดงให้เห็นว่าสัญญาในการแก้ปัญหาเรื่องปลากะพงสำหรับการเรนเดอร์กราฟิก จากนั้นเอเอ็มดีมอบชิ้นส่วน Mantle API ให้กับ Khronos Group เพื่อพัฒนา API มาตรฐานสำหรับการแสดงผล ผลลัพธ์ก็คือ Vulcan API ใหม่
Vulkan API เป็น API การแสดงผลค่าใช้จ่ายต่ำที่สามารถใช้ CPU แบบมัลติคอร์ที่ดีกว่าทุกหนทุกแห่งในทุกวันนี้และจะให้โปรแกรมที่เข้าถึง CPU และ GPU ของระบบได้โดยตรงยิ่งขึ้น นอกจากนี้ยังเป็นผู้ไม่เชื่อเรื่องพระเจ้าของระบบปฏิบัติการ ซึ่งหมายความว่าแอปพลิเคชันที่ใช้ Vulkan API จะสามารถพกพาได้ง่าย
ในฐานะที่เป็นนักเล่นเกมตัวยงและผู้ที่ชื่นชอบเกมเราจึงตัดสินใจที่จะมองอนาคตของการพัฒนาเกมในไม่ช้าและจะพัฒนาประสบการณ์การเล่นเกมของเราได้อย่างไร
คุณสมบัติ
Vulkan API มีคุณสมบัติมากมายที่ทำให้แตกต่างและดีกว่า OpenGL รุ่นก่อน:
1. Vulkan API พยายามปรับสมดุลการประมวลผลโหลดเท่า ๆ กันในทุกคอร์ในสภาพแวดล้อมแบบมัลติคอร์ ซึ่งหมายความว่าทุกคอร์ในโปรเซสเซอร์ถูกนำไปใช้ดังนั้นจึง เพิ่มประสิทธิภาพสูงสุด
- สิ่งนี้จะสร้างความแตกต่างที่เห็นได้ชัดเจนในการเรนเดอร์กราฟิกที่ต้องใช้การจับสลาก
- ด้วย API ดั้งเดิมที่สืบทอดกันบ่อยกว่านั้น CPU คือคอขวด อย่างไรก็ตาม Vulkan ทำให้ซีพียูแบบมัลติคอร์ใช้ประโยชน์ได้ดีซึ่งมีโอกาสมากขึ้นที่จะพบคอขวดใน GPU แทน
2. Vulcan API จะให้ การเข้าถึง GPU โดยตรง ซึ่งจะทำให้แน่ใจได้ว่าจะหลีกเลี่ยงค่าใช้จ่ายที่ไม่จำเป็นในการเข้าถึง GPU สำหรับการโทรแบบดึงสายและสิ่งอำนวยความสะดวกอื่น ๆ ของ GPU
- ซึ่งหมายความว่าเกมที่หนักขึ้นจะไม่เป็นซีพียูที่เข้มข้นเหมือนในปัจจุบัน นอกจากนี้ไดรเวอร์จะมีบทบาทที่เล็กลงในการให้การเข้าถึง GPU ทำให้การถ่ายโอนข้อมูลนั้นเร็วขึ้นมาก
3. API ได้รับการออกแบบให้ ข้ามแพลตฟอร์ม ได้ อย่างสมบูรณ์
- ไม่มีการแยก APIs สำหรับโทรศัพท์มือถือเดสก์ท็อปและคอนโซล Vulkan API จะเหมือนกันในทุก ๆ อุปกรณ์ที่มี GPU ที่ใช้งานร่วมกันได้
4. ในขณะที่ OpenGL เก็บการใช้งานหน่วยความจำ GPU และการซิงโครไนซ์ที่ซ่อนอยู่ Vulkan จะเปิดเผยสิ่งนี้และช่วยให้นักพัฒนาสามารถ ควบคุม GPU และวิธีการใช้งานได้ดียิ่งขึ้น
- Vulkan ช่วยให้นักพัฒนาสามารถควบคุมวิธีที่ GPU จัดรูปแบบพื้นผิวจัดการหน่วยความจำและดำเนินการซิงโครไนซ์
- อย่างไรก็ตามมันยังคงซ่อนข้อมูลเพียงพอที่จะรักษา ความเข้ากันได้ข้ามแพลตฟอร์ม
5. Vulkan ใช้ ภาษาระดับกลาง SPIR-V สำหรับการคำนวณแบบขนานและกราฟิก SPIR-V เช่นเดียวกับรุ่นก่อนคือ SPIR1.2 และ SPIR2.0 ได้รับการพัฒนาโดยกลุ่ม Khronos ด้วยความแตกต่างที่ SPIR-V ไม่ได้ใช้ LLVM SPIR-V ช่วยให้ Vulkan มีคอมไพเลอร์ Front-End ทั่วไปในทุกแพลตฟอร์ม นักพัฒนายังไม่จำเป็นต้องจัดส่งเคอร์เนลรหัส shader และการปรับใช้ไดรเวอร์จะง่ายขึ้น
Vulkan อาจช่วยเราในฐานะผู้ใช้ปลายทางได้อย่างไร
Vulkan API เมื่อนำไปใช้กับศักยภาพเต็มรูปแบบโดยนักพัฒนาสามารถปรับปรุงประสบการณ์การเล่นเกมของผู้ใช้ (นั่นคือคุณและฉัน!) อย่างมาก คิดว่า กราฟิกระดับคอนโซลบนอุปกรณ์พกพา หรือแม้กระทั่งกราฟิกเกรดเดสก์ท็อปสำหรับการติดธงระดับสูงด้วยโปรเซสเซอร์ที่มีความสามารถ!
1. เนื่องจาก SoC มือถือส่วนใหญ่ในปัจจุบันเป็นแบบ multi-core Vulkan จะ ใช้โปรเซสเซอร์ในระดับสูงสุดเท่าที่ จะเป็นไปได้ทำให้เกมราบรื่นขึ้น (FPS ที่สูงขึ้น)
2. นอกจากนี้เนื่องจาก Vulkan ให้การเข้าถึงค่าโสหุ้ยต่ำของอุปกรณ์ GPU นั่นหมายความว่าตอนนี้เกมจะสามารถลดเวลาที่ใช้ในการเข้าถึงทรัพยากร GPU ในระดับที่ดี อีกครั้งนี้แปลเป็นกราฟิกที่ดีขึ้นที่เฟรมที่สูงขึ้นต่อวินาทีโดย การใช้ความสามารถสูงสุดของ GPU
3. ในขณะที่ความสามารถข้ามแพลตฟอร์มทำให้การพกพาสำหรับเกมง่ายขึ้นอาจไม่ส่งผลกระทบโดยตรงต่อคุณในฐานะผู้ใช้ปลายทางหมายความว่า เกม ที่คุณโปรดปราน และแอพพลิเคชั่นกราฟิกเข้มข้นอาจมีอยู่ในเกือบทุกแพลตฟอร์ม ความเป็นไปได้ไม่มีที่สิ้นสุดและถูก จำกัด ด้วยจินตนาการของเรา
4. เกมจะสามารถให้ ประสิทธิภาพที่ราบรื่นยิ่งขึ้น โดยตรวจสอบให้แน่ใจว่า GPU ให้ความสนใจมากขึ้น (อ่าน: จัดสรรหน่วยความจำมากขึ้นและให้ความสำคัญกับ) กับสิ่งต่าง ๆ ที่ผู้ใช้มองเห็นได้ทันทีทำให้เกมมีภูมิคุ้มกันที่ดี .
ตัวเลือกสำหรับนักพัฒนา
ในขณะที่ API ระดับต่ำและค่าโสหุ้ยต่ำสำหรับกราฟิกนั้นเป็นความคิดที่ดีอย่างไม่ต้องสงสัย การเขียนโปรแกรมที่ต่ำกว่าใกล้กับระดับฮาร์ดแวร์ต้องใช้ความกล้าหาญมากกว่าการเขียนโปรแกรมในระดับที่สูงขึ้นซึ่งเป็นนามธรรมมากขึ้น นี่มันไม่มีทางที่น่าตกใจ มันค่อนข้างชัดเจนและเป็นเหตุผลที่นักพัฒนาจะมีสามตัวเลือกที่แตกต่างกันเกี่ยวกับวิธีการใช้ Vulkan สำหรับโครงการพัฒนาของพวกเขา
1. ใช้ Vulkan API โดยตรง
- สิ่งนี้จะช่วยให้การเข้าถึงฮาร์ดแวร์ในระดับต่ำสุดและเห็นได้ชัดว่าจะไม่เป็นทางเลือกสำหรับทุกคน อย่างไรก็ตามระดับนี้สามารถใช้เพื่อสร้างเครื่องมือเปรียบเทียบสำหรับแอปพลิเคชันอื่น ๆ ที่พัฒนาขึ้นโดยใช้ Vulkan
2. ใช้ไลบรารี
- อาจเป็นตัวเลือกที่ทำงานได้ดีที่สุดสำหรับนักพัฒนาที่เปลี่ยนจาก OpenGL เป็น Vulkan
- ไลบรารีส่วนใหญ่จะเป็นโอเพ่นซอร์สดังนั้นนักพัฒนาที่มีประสบการณ์ด้านการพัฒนาโดยใช้ OpenGL สามารถลองและส่งแอปพลิเคชั่น OpenGL ของพวกเขาไปยัง Vulkan API ได้อย่างง่ายดายแทนที่จะต้องทำการยกเครื่องใหม่หรือเริ่มต้นใหม่ทั้งหมด
3. ใช้ Game Engines ที่ปรับให้เหมาะสมกับ Vulkan
- เรามั่นใจว่านี่คือที่นักพัฒนาส่วนใหญ่จะเข้ามาเอ็นจิ้นเกมได้รับการออกแบบและพัฒนาโดยนักพัฒนาที่มีประสบการณ์และมีน้ำหนักมากและสามารถใช้งานได้ง่ายโดยผู้พัฒนา (ทั้งประสบการณ์และผู้เริ่มต้น) เพื่อสร้างเกมที่ใช้ข้อดี นำเสนอโดย Vulkan API
- นักพัฒนาเช่น Epic Games (Unreal Engine) และ Unity (Unity Engine) ได้ประกาศการสนับสนุน Vulkan ในเครื่องมือที่กำลังจะมาถึงแล้วและอีกมากมายได้ประกาศแผนการที่จะปฏิบัติตาม
ดูเพิ่มเติม: การ ทำความเข้าใจ APFS: ระบบไฟล์ใหม่จาก Apple
รู้สึกตื่นเต้น!
ในกรณีที่บทความไม่ทำให้คุณเชื่อมั่น ... ตื่นเต้น! ในขณะนี้! Vulkan สัญญาว่าจะเป็นการพัฒนาที่ก้าวล้ำใน API กราฟิกที่จะปรับปรุงชีวิตการเล่นเกมของเรา มีวิดีโอของการเปรียบเทียบระหว่างประสิทธิภาพของ Vulkan และ OpenGL และผลลัพธ์เป็น - ค่อนข้างง่าย - น่าทึ่ง หากวิดีโอเหล่านี้เป็นเครื่องบ่งชี้ให้เตรียมพร้อมรับประสบการณ์กราฟิกคุณภาพเยี่ยมทุกที่รวมถึงโทรศัพท์มือถือของคุณด้วยขอบคุณ Vulcan API ที่มาถึง!
แล้วคุณคิดอย่างไรกับ Vulkan? คุณคิดว่ามันจะเป็นการปรับปรุงที่ดีกว่ามาตรฐาน OpenGL ปัจจุบันหรือไม่? แจ้งให้เราทราบในส่วนความเห็นด้านล่าง