Xin lỗi, tôi sẽ thêm một bình luận vào chuỗi câu hỏi của bạn nhưng thấy tôi đã kết thúc quá nhiều. Kinh nghiệm phát triển của tôi là từ góc độ DX 11 nên một số điều này có thể không có trong OpenGL
Địa phương bộ nhớ của dữ liệu chắc chắn đóng một phần quan trọng. Nhưng có một vài mục khác thực hiện điều này, độ rộng của dữ liệu như bạn biết. Tôi đã có một vài GPU và đã có một hiệu suất rõ rệt dựa trên một số điểm dựa trên các điểm tới hạn nhất định. Đó là ví dụ, trên AMD r290 cũ của tôi nếu tôi nhớ lại, về cơ bản bạn có thể chuyển tối đa 4 float4 sang bộ đệm đỉnh mà không mất thêm chi phí nào trên 1, nhưng khi tôi đăng> 4 thì có sự sụt giảm có thể đo được (trong khung tỷ lệ). Đây hoàn toàn là hồi ức của tôi và giai thoại là tốt nhất. Nhưng nó cho rằng kiến trúc GPU đang thay đổi mọi lúc, và những kỹ thuật thích hợp nào mang lại cho bạn lợi thế về hiệu suất ngày hôm nay có thể là nguyên nhân cho hiệu suất của bạn vào ngày mai. TÔI'
Như đã nói, bạn đã đặt câu hỏi về việc sắp xếp các đỉnh, và chắc chắn điều đó sẽ giúp ích rất nhiều. Hiệu suất đạt được là khi bạn kết hợp điều này với bộ đệm chỉ mục, sau đó cho phép phần cứng tối ưu hóa và lưu trữ các đỉnh đã được tính toán. Bạn chắc chắn có thể nhận được nhiều lợi nhuận hơn nữa từ các dải Tam giác, vv được sắp xếp cụ thể theo suy nghĩ của bạn. Hầu hết các kết xuất mô hình tôi làm là các mô hình được tối ưu hóa dựa trên indice / vertex với sự ổn định, tôi sử dụng một lượng nhỏ tra cứu cho các hiệu ứng chuyển động theo chu kỳ (ví dụ như nhánh cây), trong những trường hợp này, toàn bộ nhánh của cây đang tìm kiếm cùng một giá trị. Vì vậy, bộ nhớ đệm có thể được tận dụng ở đây cũng.
Tất cả những gì tôi có thể nói tóm tắt từ bản thân mình là:
- Cố gắng không lật đổ tối ưu hóa khi bắt đầu, trong khi bạn vẫn đang phát triển trò chơi / ứng dụng của mình cố gắng không tối ưu hóa sớm. Nếu bạn cần quay lại và thêm các khả năng mới, bạn có thể mất tất cả nỗ lực. Bạn có thói quen của tôi có thể> <, thích cố gắng để có được hiệu suất và kỹ thuật tốt nhất
- Kiến trúc GPU rất đa dạng và điểm mạnh của người này có thể phản ánh điểm yếu ở người khác. AMD và Nvidia nổi tiếng vì nhận được các nhà phát triển để tối ưu hóa trò chơi theo kiến trúc của họ, vì một lý do, mỗi cái đều có ưu điểm / nhược điểm. Đi đường giữa phát triển có thể là nơi tốt nhất, không sử dụng bất kỳ tính năng dựa trên nhà cung cấp phần cứng nào (ý kiến ở đây). (thêm vào đó, một số định dạng đóng gói chỉ tồn tại trong AMD).
Đây chỉ là một vài suy nghĩ và kinh nghiệm tôi đã có. Có rất nhiều cuốn sách mà bạn nên nắm trong tay những chủ đề này. Tôi đã không thấy nhiều người quy định những gì bạn đề xuất, nhưng điều đó không có nghĩa là nó sai. Chúc may mắn.