Tôi đã làm việc trong 2 công ty trò chơi, nhìn thấy một số mã và quan sát một số cuộc tranh luận về các vấn đề như trong số các nhà phát triển trò chơi, vì vậy tôi có thể đưa ra một số quan sát. Câu trả lời ngắn cho mỗi điểm là nó thay đổi rất cao từ studio đến studio hoặc thậm chí từ nhóm đến nhóm trong cùng một studio. câu trả lời dài được liệt kê dưới đây:
Được sử dụng bởi một số hãng phim nhưng không phải người khác. Nhiều đội vẫn muốn tránh nó. Các cuộc gọi chức năng ảo đi kèm với chi phí và chi phí đó đáng chú ý vào các thời điểm ngay cả trên các bảng điều khiển hiện đại. Trong số những người sử dụng đa hình, giả định hoài nghi của tôi là chỉ có một tỷ lệ phần trăm nhỏ sử dụng nó tốt.
Chia phá trung lộ, đối với nhiều người trong những lý do tương tự như đa hình. STL dễ sử dụng không chính xác, vì vậy nhiều hãng phim chọn để tránh nó trên những căn cứ này. Trong số những người sử dụng nó rất nhiều, nhiều người ghép nối nó với các trình phân bổ tùy chỉnh. EA đã tạo ra EASTL, địa chỉ nhiều vấn đề STL gây ra trong phát triển trò chơi.
Rất ít hãng sử dụng xử lý ngoại lệ. Một trong những khuyến nghị đầu tiên cho bảng điều khiển hiện đại là tắt cả RTTI và ngoại lệ. Trò chơi PC có thể sử dụng ngoại lệ cho hiệu ứng lớn hơn nhiều, nhưng trong số các trường hợp ngoại lệ của studio điều khiển thì rất thường xuyên bị choáng. Họ tăng kích thước mã, có thể ở mức phí bảo hiểm và theo nghĩa đen không được hỗ trợ trên một số nền tảng có liên quan.
- mẫu với thiết kế lớp dựa trên chính sách, thiết kế
Policy dựa ... Tôi đã không gặp bất kỳ của nó. Các mẫu được sử dụng khá thường xuyên cho những thứ như nội suy/phản ánh và sử dụng lại mã. Thiết kế dựa trên chính sách, khi tôi đọc cuốn sách của Alexandrescu, có vẻ như một lời hứa không hoàn hảo đối với tôi. Tôi nghi ngờ nó được sử dụng rất nhiều trong ngành công nghiệp game, nhưng nó sẽ thay đổi rất cao từ studio đến studio.
con trỏ thông minh được chấp nhận bởi rất nhiều các hãng phim cũng sử dụng đa hình và STL. Quản lý bộ nhớ trong game console là cực kỳ quan trọng, do đó, rất nhiều người không thích tham khảo đếm con trỏ thông minh bởi vì họ không rõ ràng về khi họ miễn phí ... nhưng đây chắc chắn không phải là loại duy nhất của con trỏ thông minh. Ý tưởng con trỏ thông minh nói chung vẫn đang đạt được lực kéo. Tôi nghĩ nó sẽ phổ biến hơn trong 2-3 năm tới.
Chúng được sử dụng thường xuyên. Chúng thường bị ghi đè để sử dụng các trình phân bổ tùy chỉnh bên dưới, để bộ nhớ có thể được theo dõi và rò rỉ có thể được tìm thấy dễ dàng.
Tôi nghĩ rằng tôi đồng ý với kết luận của bạn. C++ không được sử dụng trong các studio trò chơi đến mức có thể.Có những lý do tốt và xấu cho việc này. Những cái tốt là vì những tác động về hiệu suất hay những mối quan tâm về bộ nhớ, những cái xấu là bởi vì mọi người bị mắc kẹt trong một rut. Có rất nhiều cách để làm mọi việc theo cách mà chúng luôn luôn được thực hiện, và nếu điều đó có nghĩa C với C++ giới hạn thì nó có nghĩa là C với C++ giới hạn. Nhưng có một số thành kiến chống C++ nổi xung quanh ... một số hợp lý và một số thì không.
Câu hỏi liên quan là ví dụ về thư viện bằng cách sử dụng C++ hiện đại: stackoverflow.com/questions/534311/…. Ngoài các ví dụ thông thường của Boost và Loki, cuộc thảo luận đề cập đến các thư viện Google Chrome, OpenOffice và Adobe. Xem thêm http://www.boost.org/users/uses_open.html để sử dụng tăng cường. –
Googling Tôi đã tìm thấy http://www.deitel.com/ResourceCenters/Programming/CPlusPlusGameProgramming/tabid/1225/Default.aspx Nó chứa một vài liên kết mà bạn có thể quan tâm. P.S. Bạn có thể muốn tạo wiki cộng đồng câu hỏi này. – lothar
@ lothar Tôi không biết liệu có cách nào để biến nó trở thành một cộng đồng wiki ngay bây giờ không. –