Gần đây tôi đã thêm một trình đóng gói kết cấu vào dự án của mình, nó sẽ gói một số lượng kết cấu nhất định vào một cái duy nhất, như thế này:
Vì vậy, ví dụ cái này có kích thước 582x1023 pixel. Mục tiêu của việc thêm các kết cấu được đóng gói này rõ ràng là để cải thiện hiệu suất vì vậy tôi muốn tìm kiếm kích thước kết cấu tối ưu cho kết cấu OpenGL (sử dụng LWJGL). Những điều tôi tìm thấy là một kích thước kết cấu tối đa được hỗ trợ rộng rãi dường như là 1024x1024, theo điều này chẳng hạn. Điều này gây ấn tượng với tôi vì kỳ lạ bởi vì rõ ràng rất nhiều họa tiết một mình sẽ lớn hơn thế, vậy điều gì xảy ra với những thứ đó? Tôi khá chắc chắn rằng hầu hết các card đồ họa hỗ trợ kết cấu lớn hơn thế. Tôi có thể mong đợi một cách hợp lý hầu hết các card đồ họa để xử lý các kết cấu 4096x4096 (hoặc thậm chí lớn hơn thế không)?
Để đi đến điểm thứ hai của tôi (tôi hy vọng câu hỏi này vẫn được tính là một câu hỏi, nhưng về cơ bản nó sẽ giải quyết vấn đề tương tự): Kết cấu có nên có kích thước bằng 2 (256x256, 512x512, 1024x1024, 2048x2048, ..) và nên Tôi pad kết cấu đóng gói nhỏ hơn so với sức mạnh tiếp theo của 2? Theo câu hỏi này từ năm 2011, đây không phải là một yêu cầu nhưng có thể cải thiện hiệu suất và tránh các lỗi nhỏ và câu hỏi này từ năm 2012 nói rằng bạn chắc chắn nên kết cấu. Vì vậy, tôi nhận ra rằng những câu hỏi này đã được hỏi trước đó nhưng chúng được ghi ngày một cách hợp lý để các câu trả lời đã thay đổi và hơn nữa chúng chỉ trả lời một phần câu hỏi của tôi. Làm thế nào để các dự án khác / xử lý này?
TL; DR: Tôi có thể mong đợi kích thước kết cấu nào mà hầu hết các card đồ họa xử lý? Các kích thước kết cấu tối ưu (hoặc có) là gì? Tôi có nên pad kết cấu chiều rộng cho sức mạnh tiếp theo của 2?