Sebagai contoh, di Mac Mini saya dengan Bootcamp, Team Fortress 2 berjalan sekitar 20fps di OSX dan 80fps di Windows. Ini tampaknya menjadi kasus umum. Kenapa ini?
performance
windows
macos
tanpa
sumber
sumber
Jawaban:
Driver Direct3D pada Windows sangat dioptimalkan, terkadang untuk game tertentu, dan dikembangkan oleh masing-masing vendor perangkat keras.
Driver OpenGL Apple ditulis dan dipelihara (AFAIK) oleh Apple, dan dimaksudkan untuk penggunaan OS "umum", yang mengkomposisikan UI dan yang lainnya. Tidak ada begitu banyak optimasi untuk game dan throughput kinerja tinggi.
Pada dasarnya, banyak sumber daya dari banyak sumber telah digunakan untuk membuat DirectX cepat di Windows, sementara sumber daya yang lebih sedikit tersedia untuk melakukan hal yang sama pada Mac.
sumber
Meskipun saya tidak akan mengabaikan optimasi yang mungkin dilakukan Microsoft ke Windows dan / atau DirectX, saya sangat percaya bahwa sebagian besar program berkinerja lebih baik di Windows hanya karena itulah yang menjadi fokus pengembang (di situlah uang itu). Mereka membuat keputusan desain dengan mempertimbangkan Windows, dan kemudian mencoba membuatnya bekerja di OS lain (Mac, Linux, dll.). Saya terus-menerus mengalami hal ini di tempat kerja: proyek-proyek lain memiliki begitu banyak masalah dengan porting ke sistem non-Windows karena pengembang memperlakukannya sebagai pemikiran setelah. Saya telah berulang kali menulis program yang dibangun pada banyak OS dengan sedikit usaha karena saya telah merencanakannya sejak awal. Setelah Anda benar-benar mencoba melakukannya (bukan dengan enggan melakukan port setelah fakta), Anda mempelajari apa yang diperlukan dan itu membutuhkan sedikit usaha ekstra.
sumber
Sebagai sesama pengguna Mac, saya ingin menawarkan faktor tambahan: penjadwal CPU di OS X lebih "adil" daripada di Windows.
Ini semacam topik ilmu komputer yang rumit, jadi inilah cara sederhana untuk memikirkan penjadwal CPU Anda: prosesor Anda harus menyulap banyak tugas sekaligus (semua program terbuka, plus proses sistem latar belakang). Ini hanya dapat benar - benar melakukan beberapa hal sekaligus (jumlah core kali jumlah thread per core; i7 dual-core dapat melakukan 4 tugas sekaligus, misalnya). Jadi itu membagi semua pekerjaan menjadi potongan-potongan, dan berganti-ganti di antara mereka sehingga sepertinya itu benar-benar melakukan banyak hal sekaligus. Ketika Anda menjalankan dua program, prosesor sebenarnya hanya berganti-ganti antara memproses dua program tersebut, sangat cepat (seperti, beberapa mikrodetik di sini, dan kemudian beberapa mikrodetik di sana).
Pola untuk hal-hal yang dieksekusi dalam urutan apa dan untuk berapa lama diputuskan oleh "algoritma penjadwalan". Sebagai contoh, penjadwal round robin hanya mengatur tugas-tugas dalam lingkaran dan memproses masing-masing secara berurutan. Penjadwal lain mungkin mengatur tugas dari sisa waktu yang tersisa - tugas kecil akan dilakukan dengan cepat, dan tugas besar mungkin harus menunggu beberapa saat sebelum selesai.
Windows dan OS X sangat berbeda, dan algoritma penjadwalannya juga sedikit berbeda. Windows sedikit "lebih pintar" tentang memprioritaskan hal-hal, sehingga memberikan prioritas ekstra untuk program yang terlihat untuk membuat komputer terlihat lebih cepat. OS X, bagaimanapun, lebih adil untuk proses latar belakang. Algoritma keseluruhan hampir sama antara kedua OS (keduanya adalah antrian umpan balik bertingkat ), tetapi detail kecil ini menghasilkan pengalaman pengguna yang berbeda.
Kedua belah pihak memiliki kelebihan. Seperti saya katakan, program yang terlihat di Windows akan muncul lebih cepat karena mereka mendapat prioritas lebih; tetapi jika satu program terlihat memutuskan untuk mengambil banyak daya, seluruh komputer menderita sedikit lebih banyak. Penjadwal OS X yang lebih adil menghasilkan kecepatan yang lebih dapat diprediksi dan stabil, yang bagus untuk operasi audio dan video. Misalnya, jika Anda memutar lagu di latar belakang, itu cenderung gagap ketika Anda melakukan hal-hal lain pada waktu yang sama daripada di Windows.
Jadi, poin yang bisa diambil adalah ini: permainan layar penuh di Windows akan mendapatkan prioritas tinggi pada CPU dan apa pun yang berjalan di latar belakang hanya harus menunggu. Di OS X, ini kurang terjadi.
Beberapa info teknis tentang penjadwal diberikan di sini ; sisa jawaban ini adalah dari pendidikan ilmu komputer saya dan penggunaan OS X selama 10 bulan terakhir, setelah menggunakan Windows selama lebih dari 10 tahun (dan kadang-kadang Linux). Saya kadang-kadang frustrasi oleh penjadwal yang lebih adil, tetapi di lain waktu saya menghargai kelebihannya.
Linux, omong-omong, memiliki implementasi scheduler yang bahkan lebih adil; ini adalah apa yang membuatnya menjadi server yang hebat, tetapi menurut saya pengalaman pengguna menurun. Misalnya, ketika komputer Anda macet dengan tugas, kursor Anda akan berhenti merespons dengan lancar karena diberi prioritas yang sama dengan yang lainnya. Ini pada dasarnya tidak pernah terjadi di Windows atau OS X.
sumber
Beberapa gim yang telah "porting" ke MacOSX sebenarnya adalah gim Windows yang berjalan dalam emulator. Meskipun saya tidak memiliki daftar contoh lengkap, tampaknya setidaknya ada SPORE yang seperti itu:
Menjalankan perangkat lunak dalam sebuah emulator menurut definisi lebih lambat daripada menjalankannya secara asli.
sumber