บอกว่าผมมีรูปแบบที่สร้างขึ้นจากจุดแต่ละคนมีposition
, normal
, tangent
และtexcoord
แอตทริบิวต์ที่สามเหลี่ยมถูกกำหนดโดยดัชนีอเนกประสงค์
หากเราเพียง แต่มุ่งเน้นไปที่คุณลักษณะจุดสุดยอดฉันรู้ว่ากลยุทธ์สองอย่างกว้าง ๆ : โครงสร้างของอาร์เรย์และอาร์เรย์ของโครงสร้าง ฉันเคยได้ยินเช่นกันว่าอาเรย์ของโครงสร้างเป็นที่ต้องการเพราะมันจะเพิ่มตำแหน่งหน่วยความจำ (และเพื่อให้ตำแหน่งแคช) ของคุณลักษณะสำหรับจุดสุดยอดที่กำหนด
เป็นกรณีที่ปรับปรุงประสิทธิภาพได้จริงหรือไม่ วิธีหลักที่ฉันคิดว่าสิ่งนี้จะเกิดขึ้นได้โดยดัชนีจุดสุดยอดที่ต้องการให้ rasterizer ได้รับข้อมูลจุดสุดยอดที่มีความยาวตั้งแต่ถูกไล่ออกจากแคช หากการเข้าถึงข้อมูลจุดสุดยอดเป็นแบบสุ่มการเก็บแอตทริบิวต์ทั้งหมดสำหรับจุดสุดยอดในบรรทัดแคชเดียวกันจะทำให้สิ่งต่าง ๆ เร็วขึ้น แต่นี่ไม่ใช่ปัญหาที่สามารถลดลงได้ส่วนใหญ่โดยการปรับลำดับของข้อมูลจำเพาะสามเหลี่ยมให้เหมาะสมหรือไม่
นอกจากนี้ฉันเข้าใจว่า GPU สมัยใหม่อาจดีกว่าในการแกะเวกเตอร์ที่มีความยาวชนิดเดียวกันออกได้ดีกว่าเวกเตอร์ของโครงสร้างหลายประเภท มันจะเป็นไปได้หรือไม่สำหรับโครงร่างแบบโครงสร้างของอาร์เรย์เพื่อให้มีประสิทธิภาพเหนือกว่าโครงร่างอาร์เรย์ของโครงสร้างของข้อมูลจุดสุดยอดเดียวกันหากคำสั่งดัชนีถูกปรับให้เหมาะสม