Nói tóm lại, lý do hiệu suất là lý do tại sao chúng không được lập trình.
Lịch sử và thị trường
Trước đây, trước đây thường có các lõi riêng biệt cho các bộ xử lý đỉnh và phân đoạn để tránh các thiết kế FPU cồng kềnh. Chẳng hạn, có một số phép toán mà bạn chỉ có thể thực hiện trong mã shader mảnh (vì chúng hầu như chỉ liên quan đến các shader mảnh). Điều này sẽ tạo ra các tắc nghẽn phần cứng nghiêm trọng cho các ứng dụng không phát huy tối đa tiềm năng của từng loại lõi.
Khi các shader lập trình trở nên phổ biến hơn, các đơn vị phổ quát đã được giới thiệu. Ngày càng có nhiều giai đoạn của đường ống đồ họa được triển khai trong phần cứng để giúp mở rộng quy mô. Trong thời gian này, GPGPU cũng trở nên phổ biến hơn, vì vậy các nhà cung cấp phải kết hợp một số chức năng này. Điều quan trọng cần lưu ý là mặc dù phần lớn thu nhập từ GPU vẫn là trò chơi điện tử, vì vậy điều này không thể can thiệp vào hiệu suất.
Cuối cùng, một người chơi lớn, Intel, đã quyết định đầu tư vào các máy raster có thể lập trình với kiến trúc Larrabee của họ . Dự án này được cho là đột phá, nhưng hiệu suất rõ ràng là ít hơn mong muốn . Nó đã bị đóng cửa và một phần của nó đã được trục vớt cho bộ xử lý Xeon Phi. Điều đáng chú ý là mặc dù các nhà cung cấp khác đã không thực hiện điều này.
Nỗ lực tại Rasterators phần mềm
Đã có một số nỗ lực rasterization thông qua phần mềm, nhưng tất cả chúng dường như có vấn đề với hiệu suất.
Một nỗ lực đáng chú ý là một nỗ lực của Nvidia vào năm 2011 trong bài báo này . Điều này đã được phát hành gần với thời điểm Larrabee bị chấm dứt, vì vậy rất có thể đây là một phản ứng với điều đó. Bất kể, có một số số liệu hiệu suất trong điều này, và hầu hết trong số chúng cho thấy hiệu suất chậm hơn nhiều lần so với các trình raster phần cứng.
Các vấn đề kỹ thuật với Rasterization phần mềm
Có rất nhiều vấn đề đã được đối mặt trong bài báo của Nvidia. Dưới đây là một số vấn đề quan trọng nhất với trình raster phần mềm:
Vấn đề lớn
Nội suy:
Việc thực hiện phần cứng tạo ra các phương trình nội suy trong phần cứng chuyên dụng. Điều này là chậm đối với trình kết xuất phần mềm vì nó phải được thực hiện trong trình đổ bóng mảnh.
Khử răng cưa:
Cũng có vấn đề về hiệu năng với khử răng cưa (cụ thể là với bộ nhớ). Thông tin liên quan đến các mẫu pixel phụ phải được lưu trữ trên bộ nhớ chip, không đủ để chứa thông tin này. Julien Guertault chỉ ra rằng bộ đệm / bộ đệm kết cấu có thể chậm hơn với phần mềm. MSAA chắc chắn có vấn đề ở đây vì nó tràn bộ nhớ cache (bộ đệm không kết cấu) và đi vào bộ nhớ của chip. Rasterators nén dữ liệu được lưu trữ trong bộ nhớ đó, điều này cũng giúp thực hiện ở đây.
Tiêu thụ năng lượng:
Simon F chỉ ra rằng tiêu thụ điện năng sẽ thấp hơn. Bài báo đã đề cập rằng ALU tùy chỉnh nằm trong rasterators (sẽ giảm mức tiêu thụ điện năng) và điều này sẽ có ý nghĩa vì các đơn vị xử lý phân đoạn và đỉnh trong quá khứ được sử dụng để có các bộ hướng dẫn tùy chỉnh (rất có thể là ALU tùy chỉnh). Nó chắc chắn sẽ là một nút cổ chai trong nhiều hệ thống (ví dụ, điện thoại di động), mặc dù điều này có ý nghĩa vượt quá hiệu suất.
Tóm lược
TL; DR: có quá nhiều sự thiếu hiệu quả mà việc kết xuất phần mềm không thể vượt qua và những điều này cộng lại. Ngoài ra còn có nhiều hạn chế lớn hơn, đặc biệt là khi bạn đang xử lý băng thông VRAM, các vấn đề đồng bộ hóa và tính toán thêm.