คำถามติดแท็ก optimisation

2
พื้นผิวเสมือนจริงจะมีประสิทธิภาพได้อย่างไร
สำหรับการอ้างอิงสิ่งที่ฉันหมายถึงคือ "ชื่อสามัญ" สำหรับเทคนิคแรก (ฉันเชื่อ) ที่นำมาใช้กับเทคโนโลยีMegaTextureของ idTech 5 ดูวิดีโอที่นี่เพื่อดูว่ามันทำงานอย่างไร เมื่อไม่นานมานี้ฉันได้อ่านบทความและสิ่งตีพิมพ์ต่าง ๆ และสิ่งที่ฉันไม่เข้าใจคือมันมีประสิทธิภาพได้อย่างไร ไม่ต้องการการคำนวณใหม่ของพิกัด UV จากช่องว่าง "หน้าพื้นผิวส่วนกลาง" ไปยังพิกัดพื้นผิวเสมือนจริงหรือไม่ และวิธีที่ไม่เหนี่ยวรั้งความพยายามมากที่สุดในการผสมเรขาคณิตชุด? จะอนุญาตให้ซูมเข้าโดยพลการได้อย่างไร? ในบางจุดจะต้องใช้รูปหลายเหลี่ยมแบบแบ่งย่อยหรือไม่ มีอะไรมากมายที่ฉันไม่เข้าใจและฉันไม่สามารถหาแหล่งข้อมูลที่เข้าถึงได้ง่ายในหัวข้อนี้

2
ค่าใช้จ่ายในการเปลี่ยนสถานะคืออะไร?
โปรแกรมเมอร์ควรมีความคิดที่ดีเกี่ยวกับค่าใช้จ่ายของการดำเนินการบางอย่างเช่นค่าใช้จ่ายในการเรียนการสอนบน CPU, ค่าใช้จ่ายของ L1, L2, หรือ L3 Cache, ค่า LHS เมื่อพูดถึงกราฟิกฉันรู้ว่าฉันไม่รู้ตัวเลยว่ามันคืออะไร ฉันมีในใจว่าถ้าเราสั่งพวกเขาโดยค่าใช้จ่ายการเปลี่ยนแปลงสถานะเป็นดังนี้ การเปลี่ยนเครื่องแบบของ Shader การเปลี่ยนแปลงบัฟเฟอร์จุดสุดยอดที่ใช้งานอยู่ การเปลี่ยนแปลงหน่วยพื้นผิวที่ใช้งานอยู่ การเปลี่ยนแปลงโปรแกรม shader ที่ใช้งานอยู่ การเปลี่ยนบัฟเฟอร์เฟรมที่แอ็คทีฟ แต่นั่นเป็นกฎง่ายๆที่อาจจะไม่ถูกต้องและฉันก็ไม่รู้ว่าคำสั่งของขนาดนั้นคืออะไร หากเราพยายามใส่หน่วย, ns, รอบสัญญาณนาฬิกาหรือจำนวนคำสั่งเราพูดถึงเท่าไหร่?

2
GL_STATIC_DRAW กับ GL_DYNAMIC_DRAW เทียบกับ GL_STREAM_DRAW: มันมีความสำคัญหรือไม่
ใน OpenGL นั้นฟังก์ชั่นบัฟเฟอร์วัตถุ ( glBufferData, glBufferSubDataและอาจมีอีกสองสามคน) มีพารามิเตอร์usageอธิบายโดยเอกสารเป็นคำใบ้ของการใช้งานที่ตั้งใจอาจหมายถึงการช่วยให้การใช้งานมีประสิทธิภาพดีขึ้น การใช้ ระบุรูปแบบการใช้งานที่คาดหวังของแหล่งข้อมูล คงต้องเป็นสัญลักษณ์GL_STREAM_DRAW, GL_STREAM_READ, GL_STREAM_COPY, GL_STATIC_DRAW, GL_STATIC_READ, GL_STATIC_COPY, GL_DYNAMIC_DRAW, หรือGL_DYNAMIC_READ การใช้ [... ] เป็นคำแนะนำในการนำ GL ไปใช้เพื่อให้สามารถเข้าถึงแหล่งเก็บข้อมูลของวัตถุบัฟเฟอร์ได้อย่างไร สิ่งนี้ช่วยให้การนำ GL ไปใช้ในการตัดสินใจอย่างชาญฉลาดยิ่งขึ้นซึ่งอาจส่งผลกระทบต่อประสิทธิภาพของวัตถุบัฟเฟอร์อย่างมาก อย่างไรก็ตามไม่ได้ จำกัด การใช้งานจริงของแหล่งข้อมูลGL_DYNAMIC_COPY wikiนั้นคลุมเครือในทำนองเดียวกัน: นี่เป็นเพียงคำใบ้เท่านั้น เป็นรหัส OpenGL ที่ถูกกฎหมายอย่างสมบูรณ์ในการปรับเปลี่ยนบัฟเฟอร์ STATIC หลังจากสร้างขึ้นหรือไม่เคยแก้ไขบัฟเฟอร์ STREAM [... ] เหล่านี้เป็นคำถามที่สามารถตอบได้ด้วยการทำโปรไฟล์อย่างระมัดระวัง และถึงแม้ว่าคำตอบนั้นจะถูกต้องสำหรับไดรเวอร์รุ่นนั้นโดยเฉพาะจากผู้จำหน่ายฮาร์ดแวร์รายนั้น ถ้าอย่างนั้นพารามิเตอร์นี้มีความเกี่ยวข้องกันอย่างไร? ผู้ขับขี่ต้องคำนึงถึงเรื่องนี้จริงหรือไม่และถ้าเป็นเช่นนั้นในประสบการณ์ของคุณจะมีผลกระทบกับการปฏิบัติจริงหรือไม่? คุณมีข้อมูลที่จะแบ่งปันหรือไม่? ฉันได้เขียนเลเยอร์ abstraction API กราฟิคบาง ๆ ไว้เพื่อใช้เป็น …

1
มีรูปหลายเหลี่ยมในฉากที่สามารถเข้าถึงฮาร์ดแวร์ที่ทันสมัยในขณะที่ยังคงเรียลไทม์และวิธีการที่จะได้รับ?
คำถามพื้นฐานในบางแง่มุม แต่เป็นคำถามที่หลาย ๆ คนรวมตัวเองไม่ทราบคำตอบจริงๆ ผู้ผลิต GPU มักอ้างถึงตัวเลขที่สูงมากและการแพร่กระจายระหว่างรูปหลายเหลี่ยมนับว่าเอ็นจิ้นเกมต่างๆอ้างว่าสนับสนุนบ่อยครั้งที่มีขนาดใหญ่หลายคำสั่งและจากนั้นก็ยังขึ้นอยู่กับตัวแปรจำนวนมาก ฉันรู้ว่านี่เป็นคำถามปลายเปิดที่ค่อนข้างกว้างและฉันขอโทษสำหรับสิ่งนั้นฉันแค่คิดว่ามันจะเป็นคำถามที่มีค่าที่จะได้อยู่ตรงนี้
11 gpu  optimisation 

2
การใช้แผนที่พื้นผิวหลายอย่างไม่ดีสำหรับการแคชหรือไม่?
หากฉันมีพื้นผิวหลายอย่าง (พูดว่าแผนที่มากกว่า 5 แผนที่) ไปยังหน่วยพื้นผิวเดียวกันมันจะทำงานได้แย่กว่าแคชมากกว่าถ้าฉันมีเพียง 2 หรือ 3 พื้นผิว?

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

1
Texture Cache ทำงานอย่างไรใน GPU ที่ใช้การแสดงผลแบบกระเบื้อง
แคชทำงานอย่างไรกับการเรนเดอร์แบบเรียงต่อกัน? มีเคล็ดลับเกี่ยวกับวิธีปรับปรุงอัตราส่วนการเข้าชมแคชหรือไม่ (ตัวอย่างเช่นหากไทล์ถูกประมวลผลในแนวนอนและฉันมีเซ็กเมนต์แนวตั้งของรูปสามเหลี่ยมที่มีพื้นผิวเดียวกันมันจะทำงานได้แย่กว่าแคชมากกว่าถ้าฉันมีเลย์เอาต์สามเหลี่ยมออกมาในแนวนอนหรือไม่?)
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.