Saya menggunakan MacBook Pro awal 2011 15 "saya untuk hampir semua yang ada di bawah matahari - saya sering memonitor GPU mana yang aktif menggunakan gfxCardStatus . Saya telah memperhatikan beberapa keanehan dalam cara OS X memutuskan kapan harus beralih prosesor grafis:
- Sebagian besar aplikasi yang memerlukan X11 akan memicu perpindahan otomatis, tetapi tidak semua
- Tampaknya setiap aplikasi yang membutuhkan java akan memicu perpindahan otomatis, meskipun saya belum mengujinya dengan aplikasi non-GUI.
- Beberapa aplikasi (seperti Mathematica atau XCode) yang COULD memerlukan GPU berkinerja tinggi akan langsung memaksa perpindahan ke kartu diskrit, bahkan jika hanya digunakan untuk tugas yang sepele (perpindahan dinamis dalam aplikasi akan keren, di luar topik)
- Banyak aplikasi lawas (silverlight) yang tidak memiliki bisnis yang meminta kartu diskrit saya akan memaksanya tidak dapat digunakan kembali
- Akhirnya, beberapa aplikasi (GIMP, khususnya) yang pasti dapat memanfaatkan GPU diskrit sebenarnya tidak memintanya sama sekali.
Apakah Apple mendokumentasikan bagaimana ia memilih kapan harus mengganti kartu? Bisakah aplikasi membuat permintaan level-OS untuk kartu diskrit jika ada?
macos
gpu
development
agenroadkill
sumber
sumber
Jawaban:
Pada tingkat tinggi, ini seperti transmisi otomatis - ketika Anda menekan gas dengan lembut, throttle meningkat tetapi ketika Anda menginjak pedal akselerator, mesin menurunkan transmisi untuk meningkatkan keunggulan mekanis.
Anda dapat memengaruhi pengalihan ke GPU yang kuat dengan memukul API dengan pekerjaan yang signifikan dan mengharapkan "transmisi" untuk mengirimkan beban itu ke GPU yang tidak terintegrasi.
Dokumentasi pada API semuanya dalam Xcode (dan online juga, tapi saya lebih suka menggunakan pencarian di Xcode untuk mencari dokumen).
Saya akan mulai dengan:
Tautan tersebut mencakup Mac Pro dan bagian "Apa yang harus Anda ketahui saat menggunakan OpenCL" berisi catatan bermanfaat bahwa WWDC 2013 Sesi 508: Bekerja dengan OpenCL menjelaskan cara beralih di antara dua GPU di portabel Mac menggunakan pertimbangan daya.
sumber
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.
Jadi dev dapat memilih untuk mendorong kerja ke GPU itu, OS akan memutuskan apakah diizinkan dan menengahi itu, tetapi aplikasi dapat mendorong pekerjaannya di sana, sesuka hati.