OS X quyết định khi nào chuyển đổi bộ xử lý đồ họa?


9

Tôi sử dụng MacBook Pro 15 "đầu năm 2011 cho hầu hết mọi thứ dưới ánh mặt trời - Tôi thường theo dõi GPU nào đang hoạt động bằng gfxCardStatus . Tôi nhận thấy một số đặc điểm riêng trong cách OS X quyết định khi chuyển đổi bộ xử lý đồ họa:

  • Các ứng dụng MOST yêu cầu X11 sẽ kích hoạt tự động chuyển đổi, nhưng không phải tất cả
  • Có vẻ như mọi ứng dụng yêu cầu java sẽ kích hoạt tự động chuyển đổi, mặc dù tôi chưa thử nghiệm điều này với các ứng dụng không phải GUI.
  • Một số ứng dụng (như Mathicala hoặc XCode) mà COULD yêu cầu GPU hiệu suất cao sẽ ngay lập tức chuyển động sang thẻ rời, ngay cả khi chỉ khởi động cho một nhiệm vụ tầm thường (chuyển đổi trong ứng dụng động sẽ rất tuyệt, không có chủ đề)
  • Nhiều ứng dụng kế thừa (silverlight) không có doanh nghiệp yêu cầu thẻ rời của tôi sẽ buộc nó không có giá trị
  • Cuối cùng, một số ứng dụng (cụ thể là GIMP) có thể được hưởng lợi từ GPU rời thực sự không yêu cầu gì cả.

Apple có tài liệu làm thế nào để chọn thời điểm chuyển đổi thẻ không? Các ứng dụng có thể thực hiện một yêu cầu cấp hệ điều hành cho thẻ rời nếu nó tồn tại không?


Các tài liệu dành cho Nhà phát triển của Apple có thể giúp: developer.apple.com/metal
Khürt Williams

Câu trả lời:


5

Ở mức cao, nó giống như một hộp số tự động - khi bạn nhấn ga nhẹ nhàng, van tiết lưu tăng lên nhưng khi bạn đạp chân ga, động cơ sẽ giảm tốc độ truyền để tăng lợi thế cơ học.

Bạn có thể ảnh hưởng đến việc chuyển sang GPU mạnh mẽ bằng cách nhấn API với công việc quan trọng và mong đợi "truyền" sẽ gửi tải đó đến GPU không tích hợp.

Tất cả tài liệu về API đều có trong Xcode (và trực tuyến cũng vậy, nhưng tôi thích sử dụng tìm kiếm trên Xcode hơn để tìm tài liệu).

Tôi sẽ bắt đầu với:

Các liên kết này bao gồm Mac Pro và phần "Những điều bạn nên biết khi sử dụng OpenCL" có một lưu ý hữu ích rằng WWDC 2013 Phiên 508: Làm việc với OpenCL mô tả cách chuyển đổi giữa hai GPU trong máy di động Mac bằng cách cân nhắc sức mạnh.


Trông có vẻ thú vị. Tôi sẽ kiểm tra tài liệu Xcode khi tôi sử dụng máy Mac sau này.
đại lý roadkill

Vì vậy, để rõ ràng - hoàn toàn tùy thuộc vào nhà phát triển ứng dụng để quyết định xem ứng dụng nên sử dụng đồ họa rời hay tích hợp? HĐH không thực hiện cuộc gọi này?
agentroadkill 2/12/2015

@agentroadkill Tôi sẽ nói ngược lại - nhà phát triển có thể hỏi HĐH những gì đang xảy ra và có thể ảnh hưởng đến mọi thứ, nhưng HĐH đang quyết định lên lịch cho công việc dựa trên nhiều đầu vào mâu thuẫn. Rốt cuộc, bạn có thể có hàng tá các cuộc gọi GPU máy ứng dụng liên tục.
bmike

Đúng, hệ điều hành cuối cùng thực hiện cuộc gọi, nhưng theo bài viết được liên kết: DeviceSelectCL shows how to identify the offline GPU that is not connected to a display, and then use the CL device corresponding to this GPU.Vì vậy, nhà phát triển có thể chọn đẩy công việc lên GPU đó, HĐH sẽ quyết định xem có cho phép và phân xử điều đó hay không, nhưng ứng dụng có thể đẩy công việc của mình theo ý muốn.
đại lý roadkill
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.