1
ทำไมรูปเรขาคณิตนี้ทำให้โปรแกรมของฉันช้าลงอย่างมาก?
ฉันมีโปรแกรม OpenGL และฉันแสดงภูมิประเทศ ฉันแทนที่จุดยอดในบัฟเฟอร์จุดสุดยอดและไม่ได้ระบายสีพวกมันใน shader ส่วนเลย ฉันกำลังเพิ่มรูปเรขาคณิตส่วนหนึ่งทีละส่วน ก่อนที่ฉันจะเพิ่ม geometry shader เมื่อฉันเพิ่งจะเขียนโปรแกรมส่วนขั้นตอนการแรเงาและจุดยอดของท่อฉันได้รับ framerates ประมาณ 30+ พอฉันไม่สามารถสังเกตเห็นความไม่แน่นอนใด ๆ หลังจากเพิ่มรูปเรขาคณิตฉันได้รับประมาณ 5 เฟรมต่อวินาที ทำไม? นี่คือความสมบูรณ์ของเรขาคณิต shader: #version 420 layout (triangles) in; layout (triangle_strip, max_vertices = 3) out; void main() { for (int i = 0; i < gl_in.length(); i++) { gl_Position = gl_in[i].gl_Position; EmitVertex(); …