Bagaimana saya bisa mensimulasikan memiliki CPU yang lambat?

12

Saya hampir selesai mengkodekan webapp-game saya. Ini berjalan di semua browser modern. Namun, saya ingin menetapkan beberapa persyaratan minimum untuk itu.

Jadi, saya butuh Mac yang lambat. Namun, saya tidak memiliki akses ke Mac lambat yang memiliki browser modern (IE 9+, Safari 5+, Opera 11+, Chrome, Firefox 4+).

Menggunakan alat yang disebutkan dalam pertanyaan ini , saya dapat mensimulasikan koneksi internet yang lambat. Saya dapat menggunakan banyak memori dengan mudah. Namun, saya tidak tahu bagaimana mensimulasikan CPU yang lambat tanpa menggunakan underclocking.

Apakah ada cara saya dapat membuat CPU Mac saya lebih lambat sementara tanpa underclocking?

JavaAndCSharp
sumber
batuk Instal Windows? : P
Russell

Jawaban:

7

Salah satu solusinya adalah menggunakan virtualisasi untuk menjalankan instance Mac OS X lainnya di komputer Anda. Banyak aplikasi virtualisasi (seperti Parallels Desktop ) memungkinkan Anda memutuskan berapa banyak sumber daya yang dimiliki (misalnya memori atau cpu). Lion meningkatkan dukungannya untuk virtualisasi Mac OS X.

Jika Anda memutuskan untuk menggunakan Parallels, ada artikel berguna yang menjelaskan cara mengatur turunan dari Mac OS X Lion lainnya.

Masuk akal
sumber
Kalahkan saya 20 detik :)
penguinrob
Sepertinya ini adalah favorit komunitas dan juga jawaban favorit saya. Cek hijau untuk Anda!
JavaAndCSharp
1
Dalam Parallels sepertinya Anda hanya dapat membatasi jumlah core CPU tetapi tidak kecepatan clock ..
Timo
Sepertinya Anda dapat melakukan throttle CPU menggunakan CPUThrottle willnolan.com/cputhrottle/cputhrottle.html
Timo
6

Cara yang baik adalah dengan menggunakan utilitas command-line cputhrottle, yang memungkinkan Anda menetapkan batas berapa banyak CPU yang diberikan proses yang dapat digunakan.

Instal dengan minuman (misalnya): brew install cputhrottle

Kemudian pilih berapa banyak persentase prosesor proses untuk browser Anda (dan / atau proses konten tab browser Anda) dapat menggunakan: cputhrottle <PID> <PERCENTAGE>.
Anda dapat menemukan ID proses menggunakan aplikasi Monitor Aktivitas.

Untuk mengakhiri cputhrottle (yang secara aktif mencekik proses selama itu berjalan), tekan Control- C.

Cykelero
sumber
1
Sepertinya cputhrottleforumula telah dihapus dari Homebrew pada 17 Feb 2019 karena tidak berfungsi lagi. Yosemite adalah versi terakhir dari macOS untuk mendukung cputhrottle. github.com/Homebrew/homebrew-core/pull/36127
Sean Moubry
@sean Strange — cputhrottle tampaknya berfungsi pada Mac saya, meskipun saya menggunakan Mojave dengan SIP diaktifkan. Saya mungkin akhirnya mengunduhnya dari tempat lain; Sudahkah Anda mencoba mendapatkannya dari situs penulis? willnolan.com/cputhrottle/cputhrottle.html
Cykelero
4

Anda selalu dapat menginstal OS X di mesin virtual dan mengatur mesin virtual untuk memiliki prosesor yang lebih lambat, mungkin.

penguinrob
sumber
2

Jalankan beberapa contoh yes > /dev/null &. Setiap instance akan mematok inti hingga 100%, jadi jalankan satu untuk setiap inti. Anda juga dapat mencoba nicemengembalikan proses ya ke prioritas yang lebih tinggi atau menurunkan prioritas browser.

Cajunluke
sumber
1

Menambahkan siklus tidur ke loop utama atau bagian dari kode yang sering berjalan adalah langkah pertama yang baik. Selanjutnya, tambahkan beberapa perhitungan yang lambat / tidak relevan. Tergantung pada apa yang ingin Anda tekankan, Anda juga bisa membuat beberapa pointer canggung matematika atau casting variabel untuk memperlambat segalanya. Ini adalah hal yang mudah dilakukan saat pemrograman.

bmike
sumber
2
Berpikir seperti seorang programmer. Ini berguna; namun, saya ingin menemukan kecepatan jam minimum di mana game yang tidak dimodifikasi dapat berjalan.
JavaAndCSharp
Bahkan ketika Anda adalah seorang pengembang Apple dan mengambil kode ke laboratorium pengujian mereka di mana Anda dapat menjalankannya pada semua jenis perangkat keras - lakukan membangun margin kesalahan yang bagus karena banyak mesin pengguna berkinerja jauh lebih buruk daripada mac kasus terbaik. Antara add-on dan modifikasi sistem, masalah ram, hard drive penuh, dll ...
bmike