2011-12-19 28 views
5

Tôi đang ở trên cạnh bắt đầu một vòng refactor lớn trong phần mềm của chúng tôi. Hiện tại, thành phần render vẫn dựa trên DX9. Phiên bản mới sẽ sử dụng DX10.Lần đọc quan trọng trước khi chuyển ứng dụng C++ từ Directx9 sang Directx10

Trước khi bắt đầu, có bất kỳ hướng dẫn quan trọng và được viết hay quan trọng nào về việc chuyển DX9 sang DX10 không? Tôi đã tìm thấy một số thông tin nhỏ, nhưng không thể tìm thấy bất kỳ bài viết, hướng dẫn hoặc bài đánh giá nào được viết tốt. Tôi muốn ngăn cản bản thân mình mắc lỗi "cổ điển", mà tôi có thể ngăn chặn bằng cách đọc trước khi bắt đầu đến cảng.

Mục đích của tôi là đọc lên hướng dẫn chuyển "chung" cũng như các ví dụ cụ thể hơn. Phần mềm hiển thị cả hai mắt lưới cũng như khối lượng để thông tin về các chủ đề này được đánh giá cao. Các từ khóa khác là - nhưng không độc quyền -: bộ đệm, quản lý bộ nhớ và đa CPU.

+1

Các DX11 SDK đi kèm với một hướng dẫn bao gồm các lời khuyên porting từ DX9 và DX10 ... –

Trả lời

0

Sự khác biệt lớn nhất là không có thẻ hỗ trợ một phần tính năng. Một thẻ hỗ trợ Direct3D 10 hay không. Nếu bạn muốn ứng dụng của bạn chạy trên phần cứng cũ, hoặc trên XP, thì nó cần phải là chế độ kép DirectX 9 hoặc 10. Nếu nó chỉ cần chạy trên card đồ họa được hỗ trợ trên Vista hoặc cao hơn, thì nó chỉ có thể là 10.

AFAICT, MSDN không cung cấp hướng dẫn khác biệt. Họ coi Direct3D 10 là một API mới song song với các API khác. Xem here. Tôi đã tìm thấy một bản tóm tắt hữu ích của differences here.

+0

Hm, không thực sự là những gì tôi đang tìm kiếm. Mặc dù một trang có thể truy cập từ liên kết của bạn hữu ích: http://msdn.microsoft.com/en-us/library/windows/desktop/ee416643(v=VS.85).aspx – bastijn

+0

"Nếu bạn muốn ứng dụng của mình chạy trên phần cứng cũ "Không đúng nữa với DirectX 11, vì bây giờ có điều được gọi là [một mức độ tính năng] (http://msdn.microsoft.com/en-us/library/windows/desktop/ff476876 (v = vs.85) .aspx) – Suma

3

Vì dường như không ai có danh sách nhất định, tôi cũng sẽ bắt đầu thu thập các phát hiện của tôi trong một câu trả lời riêng biệt. Theo hiểu biết của tôi, thông tin rất hạn chế có sẵn trên web về chủ đề này.

chung

  • Direct3D 10 Frequently Asked Questions
  • Direct3D 9 to Direct3D 10 Considerations (Direct3D 10) phác thảo cơ bản khác biệt chính giữa Direct3D 9 và Direct3D 10 phác thảo dưới đây cung cấp một số cái nhìn sâu sắc để hỗ trợ các nhà phát triển với Direct3D 9 kinh nghiệm để khám phá và liên quan đến Direct3D 10
  • Fixed Function EMU Sample Cho biết cách mô phỏng các khía cạnh nhất định của đường ống chức năng cố định Direct3D 9 trong môi trường Direct3D 10.
  • Windows to Reality: Getting the Most out of Direct3D 10 Graphics in Your Games Mặc dù có "trò chơi" trong tiêu đề, nội dung của bản trình bày thì không. Trong bài thuyết trình, họ kiểm tra hiệu suất chung và các vấn đề kiến ​​trúc, cùng với phát triển nội dung và các vấn đề khác mà chúng tôi gặp phải khi di chuyển các công cụ D3D9 cao cấp sang D3D10. Ngoài ra, họ có một phần "mẹo chuyển dữ liệu" cụ thể.
  • GPU Performance Programming with DirectX 10 Trong bài nói chuyện này, họ thảo luận về một loạt các cân nhắc về hiệu suất và các khía cạnh bao quát của chương trình hiệu suất Direct3D 10 và 10.1 phổ biến cho tất cả các nhà cung cấp. Ngoài ra, chúng cũng bao gồm các cân nhắc về hiệu suất với nhiều cấu hình GPU.
  • Windows Vista Graphics Development Drilldown: Direct3D 10 and 10.1 Trong bản trình bày này, họ thảo luận về sự khác biệt khác nhau giữa D3D9 và D3D10. Mặc dù nội dung có phần nào dựa trên trò chơi nhiều hơn, nhưng thông tin có thể được sử dụng trong bất kỳ danh mục lập trình DX nào.

khác biệt Buffer

Các vấn đề liên quan