SharpDX นั้นโตพอที่จะนำมาใช้หรือควรจะเริ่มใช้ SlimDX ตอนนี้หรือไม่?


10

ฉันกำลังจะหยุดโครงการเกมของฉันใน XNA เพราะจากสิ่งที่ฉันสามารถรวบรวมได้การพัฒนากำลังจะสิ้นสุดลง (และมันก็ล้าหลังเทคโนโลยีปัจจุบันแล้ว) ดังนั้นฉันต้องนำเฟรมเวิร์กหรือ API ใหม่มาใช้

ฉันเพิ่งใช้เวลา 2 วันเพื่อดู C ++ และตัดสินใจว่าไม่ใช่สำหรับฉัน - แต่ฉันจะพบว่าการเข้าถึง DirectX เพื่อดึงดูดความสนใจ SharpDX ฟังดูเหมือนเป็นจุดเริ่มต้นที่ดี แต่ไม่มีเอกสารประกอบและไม่มีความคิดเห็นเกี่ยวกับโค้ด ฉันรู้สึกว่ามันยังไม่พร้อมใช้งาน

ฉันสนใจความคิดเห็นของผู้คนที่ใช้กรอบงานทั้งสองอย่างนี้หรือทั้งสองอย่างเพื่อช่วยฉันตัดสินใจว่าฉันควรเรียนรู้อย่างใด ขอบคุณสำหรับคำแนะนำใด ๆ


1
คำถามสนทนามาก :) SharpDX นั้นอาจจะมีความสมบูรณ์เท่ากับ SlimDX เพราะมันถูกสร้างขึ้นโดยตรงจากส่วนหัว - เช่นนี้เขาได้รับ DirectX 100% ที่ห่อทันที ห้องสมุดทั้งสองนั้นเหมือนกัน ดังนั้นคุณสามารถใช้ตัวอย่าง SlimDX สำหรับ SharpDX
Jonathan Dickinson

1
เป็นไปได้ว่าการตอบรับของคุณเพื่อรับ C / C ++ เป็นปัญหาจริงในแง่ของความตื่นเต้น ตราบใดที่คุณยังอยู่ในระดับที่มีการจัดการคุณจะไม่มีวันได้เนื้อ IMO ที่แท้จริง สิ่งนี้มาจากคนที่สาบานเป็นเวลานานด้วยภาษาที่มีการจัดการแม้จะได้รับการฝึกฝนอย่างเป็นทางการใน C ++ เพียงแค่การสังเกต อย่าหลีกเลี่ยง C ++ ยากเกินไป แน่นอนว่ามันจะ จำกัด ตัวเลือกของคุณในอุตสาหกรรมนี้ถ้าคุณทำในขณะที่สิ่งที่ตรงกันข้ามนั้นไม่เป็นความจริงแน่นอนว่ามันเป็นจุดเริ่มต้นที่มั่นคงสำหรับอุตสาหกรรมอื่น ๆ (ทางการแพทย์การเงินการป้องกันประเทศ) ค่าเฉลี่ยจ่ายดีกว่ามากตรงนั้น FYI
วิศวกร

ฉันสนใจ DX จริงๆและถึงแม้ว่าฉันจะจบโครงการ port ให้ Slim หรือ Sharp ฉันก็ได้ยินสิ่งที่คุณพูดอย่างแน่นอน และมันอาจจะให้บริการฉันดีในการเรียนรู้ C ++ ต่อไปเพื่อให้ฉันสามารถเอาชนะความรู้สึกไม่สบาย ฉันอยากจะคิดว่า 12 เดือนนับจากนี้ถ้าฉันอยู่ในตำแหน่งที่ฉันต้องใช้ C ++ / Direct X จากนั้นฉันสามารถเลือกที่จะทำอย่างนั้นถ้ามันเป็นเครื่องมือที่เหมาะสมสำหรับงาน
Gavin Williams

คำตอบ:


16

ฉันเป็นผู้เขียน SharpDX ดังนั้นคำแนะนำของฉันจะมีอคติ แต่อย่างน้อยฉันก็อยากจะตอบข้อกังวลของคุณ

เกี่ยวกับเอกสารของ SharpDX สถานะปัจจุบันมีอยู่ จำกัด มากเนื่องจากฉันทำงานมาอย่างยาวนานเพื่อให้ DirectX API ทั้งหมดสามารถเข้าถึงได้จาก. NET และ Win8 OS ใหม่ เมื่อฉันใกล้จะเสร็จด้านนี้ฉันกำลังพยายามจัดทำเว็บไซต์เต็มรูปแบบและบทความบางส่วนเพื่ออธิบายแนวคิดหลักของ SharpDX และวิธีที่คุณจะได้รับสิ่งที่ดีที่สุด นอกจากนี้โปรดทราบว่าโครงการนี้ส่วนใหญ่จะนำ DirectX ไปยัง. NET ดังนั้นจึงยังคงเป็น API ระดับต่ำ ดังนั้นคุณจึงต้องขุดพฤติกรรมของ C ++ API นิดหน่อยเพื่อทำความเข้าใจว่ามันทำงานอย่างไร โชคดีที่เกือบทุกวิธีใน SharpDX ทำแผนที่กับวิธีการเดียวใน DirectX API ดังนั้นจึงง่ายต่อการตรวจสอบวิธีการใช้วิธีโดยตรวจสอบ DirectX API ระบบเอกสารที่จะสามารถใช้ได้กับ SharpDX 2

SharpDX พร้อมที่จะใช้สำหรับการพัฒนาเกมแล้วหรือยัง? ในระยะสั้นใช่

ก่อนอื่นฉันได้รับการว่าจ้างจาก บริษัท ญี่ปุ่นให้เข้าร่วมในการพัฒนาเอ็นจิ้น 3 มิติใหม่ใน C # และเราใช้ SharpDX สำหรับการเรนเดอร์แบ็กเอนด์บน Windows

ประการที่สองฉันได้รับจดหมายส่วนตัวจำนวนมากจากนักพัฒนาจาก บริษัท ที่ใช้ SharpDX เพื่อพัฒนาแอปพลิเคชั่นมัลติมีเดีย (ตั้งแต่เกมตัวแก้ไขระดับการเผยแพร่ภาพถ่ายออนไลน์ ... ฯลฯ ) ลูกค้าเหล่านี้บางคนค่อนข้างใหญ่ (น่าเสียดายที่ฉันไม่สามารถอ้างอิงได้)

สุดท้ายโครงการโอเพ่นซอร์สสาธารณะบางโครงการกำลังใช้ (หรือจะใช้) SharpDX สำหรับการเรนเดอร์แบ็คเอนด์หลักของพวกเขา ตัวอย่างเช่นDelta Engineใช้ SharpDX สำหรับการเรนเดอร์ Direct3D11 แล้ว (ซึ่งจะมีให้สำหรับ Win8 ด้วย) โครงการ Upcomming ANX (ผู้สืบทอด XNA แบบโอเพ่นซอร์ส) ใช้ SharpDX สำหรับการเรนเดอร์แผ่นเกมและการจัดการเสียง

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

นอกจากนี้คุณสามารถพิจารณาใช้ผลิตภัณฑ์ที่มีชื่อเสียงเช่น Unity เพื่อพัฒนาเกมพกพาใน C #


1
+1 สำหรับ ANX น่าตื่นเต้นจริงๆเพราะฉันชอบความเรียบง่ายของ XNA (ฉันเลิกใช้ #DX อย่างรวดเร็วเนื่องจากต้องใช้รหัสเพิ่มจำนวนมาก)
Jonathan Dickinson

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

มีตัวเลือกมากมายจริงๆ ฉันดาวน์โหลด Unity แล้ว ฉันไม่เคยดูเกมเอ็นจิ้นหรืออะไรทำนองนั้นมาก่อนมันน่าสนใจที่จะเห็นว่ามันสามารถทำอะไรได้บ้าง ฉันมีพื้นฐานของโปรเจ็กต์ของฉันที่เขียนไว้แล้วใน xna และมันอยู่ที่ไหนสักแห่งในบริเวณใกล้เคียงของโค้ด 5,000-10,000 บรรทัดดังนั้นฉันจึงต้องการใช้โค้ดนั้นถ้าทำได้ แต่มันก็ยังห่างไกลจากความสมบูรณ์ดังนั้นฉันคิดว่าถ้าฉันใช้เวลาหนึ่งหรือสองสัปดาห์เพื่อดูกรอบและกลไกต่าง ๆ มันไม่ใช่การลงทุนที่ไม่ดี
กาวินวิลเลียมส์

ไม่เคยได้ยิน ANX มาก่อนโพสต์นี้ สนใจมากที่จะไป และโดยวิธีการที่คุณอาจต้องการปรับปรุงลิงค์ในโพสต์ของคุณไปที่: anxframework.codeplex.com
David Gouveia
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.