Làm thế nào để đồ họa phát triển rất nhiều trên cùng một phần cứng giao diện điều khiển?


33

Có phải nó chỉ là một vấn đề tối ưu hóa mã?

Các nhà phát triển trò chơi có kế hoạch bắt đầu nhỏ trên một phần cứng mới, để có không gian phát triển trong khi tạo ra một loạt trò chơi đó không?

Là những đột phá đồ họa máy tính đủ phổ biến để xảy ra trong một đời console?

Câu trả lời:


36

Có phải đó chỉ là vấn đề tối ưu hóa mã?

Thực sự có một phần tối ưu hóa trong này. Càng nhiều lập trình viên làm quen với phần cứng giao diện điều khiển, họ càng học được cách ép chất lượng đồ họa vào nó.

Nhưng đó là lý do duy nhất:

  • Các tựa game console đầu tiên được phát triển dựa trên sự phát triển của phần cứng và SDK, vì vậy thật khó để tận dụng tối đa nền tảng khi nó chưa ổn định.
  • Không chỉ các lập trình viên cần thích ứng với các ràng buộc của một nền tảng mới: điều đó cũng tương tự đối với các nghệ sĩ. Một động cơ càng trưởng thành, càng có nhiều nghệ sĩ có thể thích nghi với nó và hoàn thiện các kỹ năng của họ. Sự tồn tại của các tài sản trước đó có thể được lặp đi lặp lại cũng là điều cần xem xét.
  • Nhìn chung, mọi người ngày càng có nhiều kinh nghiệm hơn, không chỉ các nghệ sĩ, không chỉ các lập trình viên, mà tất cả mọi người. Và quy mô đội phát triển, ít nhất là trên thị trường AAA. Đưa những người có kinh nghiệm hơn vào sản xuất, nếu được quản lý tốt sẽ dẫn đến chất lượng cao hơn.

Các nhà phát triển trò chơi có kế hoạch bắt đầu nhỏ trên một phần cứng mới, để có không gian phát triển trong khi tạo ra một loạt trò chơi đó không?

Đó là một câu hỏi thú vị. Tôi không nghĩ các nhà phát triển trò chơi cố tình chừa không gian cho sự tiến hóa khi làm việc trên một bảng điều khiển mới. Đối với tôi điều này chỉ là sự cố. Nhưng tôi đứng ra để được sửa chữa, có lẽ một số hãng phim lớn thực hiện chiến lược này sau tất cả, tôi tò mò muốn xem bất kỳ bằng chứng nào về điều đó (lời khai, có ai không?).

Là những đột phá đồ họa máy tính đủ phổ biến để xảy ra trong một đời console?

Vâng. Ít nhất là thường xuyên .


2
SSAO và bóng mờ bị trì hoãn đều là các thuật toán cũ - nó vừa xảy ra đã được phát hiện ra chúng có thể trong thời gian thực gần đây. SSAO (2007) là một triển khai thời gian thực của thuật toán 10 năm tuổi (AO được tính toán trước), bóng mờ bị trì hoãn được Deering xuất bản năm 1988
bobobobo

2
Đúng rồi. Những người đã thích nghi với thời gian thực trong thế hệ console cuối cùng; nó không có nghĩa là khái niệm này là mới, như Kylotan giải thích trong câu trả lời của mình.
Laurent Couvidou

3
Tôi nghĩ rằng một phần quan trọng của thành phần tối ưu hóa là phần cứng ít nhiều được đảm bảo giữ nguyên trong nhiều năm. Điều này cho phép các nhà phát triển đưa ra các tối ưu hóa được nhắm mục tiêu cao, và có lẽ thậm chí quan trọng hơn, để làm cho thời gian này được đầu tư đáng giá. Đối với một sự phát triển thú vị và tương tự của mã, hãy xem xét các bản demo C64 hoặc Amiga được viết trong nhiều thập kỷ sau khi phần cứng ban đầu xuất hiện; nhiều người trong số họ đã không thể tưởng tượng được trong thập niên 80 và 90.
Daniel B

13

Các nhà phát triển trò chơi có kế hoạch bắt đầu nhỏ trên một phần cứng mới, để có không gian phát triển trong khi tạo ra một loạt trò chơi đó không?

Họ chắc chắn là không!

Khi tôi mới gia nhập ngành công nghiệp trò chơi, tôi đã hỏi một nhà sản xuất từ ​​[nhà xuất bản khổng lồ mà bạn chắc chắn đã nghe nói] chính câu hỏi này. Anh ấy nói với tôi rằng mọi trò chơi console mà công ty anh ấy phát triển đã sử dụng 100% tài nguyên có sẵn của nền tảng. Trong khi điều này có lẽ không phải là sự thật theo nghĩa đen, nó đủ gần.

Nếu có bất cứ điều gì, các trò chơi console dành phần lớn sự phát triển của chúng bằng cách sử dụng gần 120-150% tài nguyên nền tảng. Vài tháng cuối cùng của sự phát triển được dành một cách điên cuồng cố gắng giảm tất cả mọi thứ xuống mức "chỉ" 100% trước ngày tàu. Nếu các tiêu đề tiếp theo cần nhiều chu kỳ CPU / RAM / dung lượng ổ đĩa / v.v., trước tiên, các nhà phát triển phải tìm ra cách tối ưu hóa công nghệ hiện tại của họ - tìm thuật toán hiệu quả hơn, sử dụng nén dữ liệu tốt hơn, v.v.

Nó có ý nghĩa hoàn hảo, thực sự; lợi thế cạnh tranh nào sẽ có một cách rõ ràng là không cố gắng đạt được tiềm năng đầy đủ của phần cứng, dựa trên kiến ​​thức hiện tại của bạn về hệ thống? Bạn có tin tưởng đối thủ của mình để thể hiện sự kiềm chế tương tự?


Câu trả lời chính xác. Tôi vẫn tò mò liệu một số thể loại trò chơi cụ thể có các mục tiêu khác nhau - trong đó 60fps thực sự cần thiết cho lối chơi cốt lõi, và họ chỉ muốn làm cho nó trông đẹp nhất có thể.
Katana314

10

Vì bảng điều khiển khá nhiều có một đặc điểm kỹ thuật. Và không giống như PC nơi bạn có hàng tấn các biến thể khác nhau. Các nhà phát triển có thể tối ưu hóa trò chơi của họ tốt hơn. Nhưng điều này không có nghĩa là nó sẽ làm phép thuật không gian trong thời gian dài. Nó sẽ đạt đến một nắp. (hiện tại 360 / Ps3 có tổng cộng 512 mb, điều này đối với nhiều nhà phát triển dường như là một điều khó chịu)

Bảng điều khiển khá lỗi thời sau 6 tháng. PC luôn phát triển nhanh hơn trong thông số kỹ thuật phần cứng. Nhưng các trò chơi trên PC không bao giờ thực sự được tối ưu hóa cho một bộ phần cứng. Họ phải ghi nhớ rằng cũng có những người có thông số kỹ thuật thấp hơn (do đó video và các tùy chọn khác). Nhưng vì các nhà phát triển làm việc trên các trò chơi console có thể tối ưu hóa trong thời gian dài, họ có thể thực hiện các thủ thuật gọn gàng với phần cứng.

Các trò chơi PS3 / 360 trông khá tốt trong thời gian này của vòng đời. Nhưng hãy tưởng tượng nếu một nhà phát triển tập trung vào một powerbeast được chỉ định của một máy tính.

Khi bắt đầu một giao diện điều khiển mới, các nhà phát triển cần phải thích ứng với phần cứng. Bạn không thể tát mã từ nền tảng này sang nền tảng khác. Đó là lý do tại sao bạn không thấy các trò chơi mà chúng ta có bây giờ khi bắt đầu vòng đời. Các đường ống sản xuất phát triển thêm giờ. Đó không phải là thứ bạn có thể nhận được ngay lần đầu tiên. Rất nhiều tối ưu hóa cần phải được thực hiện và nó chỉ tốn thời gian. Khi bạn thấy các tính năng tốt hơn trong phần tiếp theo, đó là vì sự phát triển của công nghệ đã phát triển trong trò chơi đầu tiên.

Đột phá thực sự thường xảy ra với phần cứng mới. Nhưng các nhà phát triển có thể sáng tạo vào những thời điểm cho phép họ làm mọi thứ trên phần cứng hạn chế.


Chính xác thì điều gì thay đổi khi chúng ta chỉ có một thông số để phát triển? Mã thay đổi? Hay chỉ là các tùy chọn trình biên dịch?
Rodorgas

1
Mã hầu hết giữ nguyên nhưng tối ưu hóa sử dụng các tính năng của phần cứng.
Sidar

Cảm ơn vì đã trả lời. Nếu bạn muốn giải thích, tôi quan tâm đến một ví dụ về tối ưu hóa bằng các tính năng của phần cứng.
Rodorgas

1
Vâng, cái phổ biến nhất, mặc dù thường được thực hiện qua một số trừu tượng là SIMD.
Sidar

9

Phần cứng mới thường chỉ cung cấp khả năng làm nhiều hơn trước. Hầu hết các cải tiến đồ họa đến từ các kỹ thuật mới, tối ưu hóa mới và nghệ thuật tốt hơn.

Điều đáng biết là các kỹ thuật 'mới' được sử dụng hiếm khi mới - chúng thường là các kỹ thuật 20 năm trước đây quá chậm để hiển thị thời gian thực. Chúng thường được dịch sang mã thời gian thực nhiều năm sau đó khi một lập trình viên tìm ra cách để làm điều đó một cách hiệu quả với phần cứng trong ngày.


3
Trường hợp tại điểm: bóng mờ hoãn lại
bobobobo

3
Nếu bạn muốn biết đồ họa máy tính trong những năm tới sẽ có khả năng gì, hãy nhìn vào Hollywood CGI từ một thập kỷ trước (?).
Dan Neely

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.