Trong lĩnh vực của tôi (VFX, bao gồm những thứ như theo dõi đường dẫn, hoạt hình máy tính, mô phỏng hạt, động lực học chất lỏng, xử lý hình ảnh, v.v.), độ phức tạp thuật toán là cơ bản. Không có cách nào hoạt động kém hơn thời gian tuyến tính có thể hy vọng hoàn thành trong bất kỳ thời gian hợp lý nào trên các đầu vào thường đạt tới hàng triệu đỉnh, đa giác, voxels, hạt, texels, đặc biệt là khi nhiều thứ trong số này cần hoàn thành nhiều lần trong một giây thời gian thực, phản hồi tương tác.
Như đã nói, không có sự nhấn mạnh mạnh mẽ vào sự phức tạp thuật toán trong các cuộc thảo luận điển hình giữa các đồng nghiệp, có lẽ bởi vì nó phần nào được coi là hiển nhiên và khá "thô sơ". Thông thường, giả sử nếu bạn đang viết một trình theo dõi đường dẫn rằng nó sẽ hoạt động trong thời gian logarit hoặc tốt hơn và các cấu trúc dữ liệu như phân cấp âm lượng giới hạn là quen thuộc và tương đối tầm thường để thực hiện cho người đọc. Tôi thậm chí đã có một đồng nghiệp lành nghề, người luôn nói rằng đa luồng và SIMD quan trọng hơn thuật toán, và tôi không nghĩ rằng anh ta có nghĩa là bạn có thể mong đợi nhận được nhiều từ việc song song hóa một loại bong bóng. Tôi nghĩ rằng anh ấy đã nói rằng vì anh ấy đã chấp nhận rằng chúng tôi sẽ áp dụng các thuật toán hợp lý,
Ngày nay, rất nhiều sự tập trung vào việc sử dụng nhiều thuật toán quen thuộc này và làm cho chúng khai thác tốt hơn các đặc điểm cơ bản của phần cứng như bộ đệm CPU, các thanh ghi và hướng dẫn SIMD, GPU và nhiều lõi. Ví dụ, Intel đã đưa ra một cách mới để lấy BVH cũ quen thuộc và đưa ra khái niệm "gói tia", về cơ bản thử nghiệm nhiều tia kết hợp tại một thời điểm với một loại đi qua cây đệ quy (nghe có vẻ giống như nó 'đi kèm với sự phức tạp và chi phí chung của nó, ngoại trừ nó được tạo ra bởi thực tế là các tia đó hiện có thể được kiểm tra đồng thời đối với các tia / AABB và các giao điểm tia / tam giác thông qua các hướng dẫn và thanh ghi SIMD).
Điều tương tự với phân khu như catmull-clark, đó là thứ rất thô sơ trong đồ họa máy tính. Nhưng ngày nay, những gì cạnh tranh và hấp dẫn và siêu hiệu quả là các triển khai GPU xấp xỉ phân khu CC bằng cách sử dụng các bản vá lỗi của Gregory, được phổ biến bởi Charles Loop và sau đó được Pixar áp dụng. Việc triển khai CPU đơn giản hơn bây giờ khá lỗi thời, không nhất thiết là vì nó được thay thế về độ phức tạp thuật toán, nhưng vì nó được thay thế bởi thứ gì đó chơi tốt với GPU.
Và đó thường là rất nhiều thách thức ngày nay không đến với thuật toán tốt nhất theo cách tương đối độc lập với các đặc tính cơ bản của phần cứng. Tôi thực sự đã có được chân trong ngành bằng cách đưa ra một cấu trúc tăng tốc mới giúp tăng tốc đáng kể việc phát hiện va chạm để tạo hiệu ứng cho các nhân vật và các cơ thể mềm khác trong thập niên 90 bằng cách sử dụng phương pháp phân cấp theo thứ bậc trái ngược với chỉ số không gian, khiến tôi rất nhiều cung cấp công việc, nhưng ngày nay nó không còn ấn tượng nữa vì tôi đã xuất bản nó rất lâu trước khi chúng tôi có bộ nhớ CPU ấn tượng và nhiều lõi và GPU lập trình được và không, và hiện tại tôi sử dụng một cách tiếp cận hoàn toàn khác do kết quả của những thay đổi đáng kể đối với phần cứng cơ bản.