Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.
Çözüm
Adamlar fiziksel bir CPU'yu birebir taklit edecek kodlar yazıyorlar, aynı gerçek bir CPU gibi içerisinde Register'ları, Stack'i vs var ama fiziksel olarak değil, sanal bir şekilde olduğu için bu "sanal CPU"yu çalıştıracak gerçek bir işlemci lazım, dolayısıyla bütün yük işlemciye biniyor.

Normalde 1 CPU saatinde çalıştırılacak bu kod;
(1GHz bir işlemcide yaklaşık 0.0000000001 saniyede (1 nanosaniye) çalışır).

C:
mov     ebp, esp

Sanal CPU tarafından şuna benzer bir kod sayesinde çalıştırılacağı için:
C:
mov     rbp, rsp
sub     rsp, 32
mov     QWORD PTR [rbp-24], rdi
mov     rax, QWORD PTR [rbp-24]
mov     eax, DWORD PTR [rax+52]
sar     eax, 4
mov     DWORD PTR [rbp-4], eax
mov     rax, QWORD PTR [rbp-24]
mov     eax, DWORD PTR [rax+52]
and     eax, 15
mov     DWORD PTR [rbp-8], eax
cmp     DWORD PTR [rbp-4], 2
je      .L11
cmp     DWORD PTR [rbp-4], 2
jg      .L10
cmp     DWORD PTR [rbp-4], 0
je      .L14
cmp     DWORD PTR [rbp-4], 1
jne     .L10
mov     edx, DWORD PTR [rbp-8]
mov     rax, QWORD PTR [rbp-24]
mov     esi, edx
mov     rdi, rax
call    SanalCPU::move(int)

1 cpu saatinde çalışacak instruction sayısı üstel olarak artıyor.
Tamamen gözlemlerime dayalı bir soru.

Görev Yöneticisi'nden baktıysanız CPU kullanımının sabit olduğunu göreceksiniz.

Mesela 8 çekirdekli işlemcin var. 8 çekirdeği de sanal makineye verirsen işlemcinin tamamını sanal makineye verdiğin için görev yöneticisinde %100 gözükecektir. Tamamen senin makineye ne kadar işlemci çekirdeği ve ne kadar frekans verdiğine bağlı.
 
Adamlar fiziksel bir CPU'yu birebir taklit edecek kodlar yazıyorlar, aynı gerçek bir CPU gibi içerisinde Register'ları, Stack'i vs var ama fiziksel olarak değil, sanal bir şekilde olduğu için bu "sanal CPU"yu çalıştıracak gerçek bir işlemci lazım, dolayısıyla bütün yük işlemciye biniyor.

Normalde 1 CPU saatinde çalıştırılacak bu kod;
(1GHz bir işlemcide yaklaşık 0.0000000001 saniyede (1 nanosaniye) çalışır).

C:
mov     ebp, esp

Sanal CPU tarafından şuna benzer bir kod sayesinde çalıştırılacağı için:
C:
mov     rbp, rsp
sub     rsp, 32
mov     QWORD PTR [rbp-24], rdi
mov     rax, QWORD PTR [rbp-24]
mov     eax, DWORD PTR [rax+52]
sar     eax, 4
mov     DWORD PTR [rbp-4], eax
mov     rax, QWORD PTR [rbp-24]
mov     eax, DWORD PTR [rax+52]
and     eax, 15
mov     DWORD PTR [rbp-8], eax
cmp     DWORD PTR [rbp-4], 2
je      .L11
cmp     DWORD PTR [rbp-4], 2
jg      .L10
cmp     DWORD PTR [rbp-4], 0
je      .L14
cmp     DWORD PTR [rbp-4], 1
jne     .L10
mov     edx, DWORD PTR [rbp-8]
mov     rax, QWORD PTR [rbp-24]
mov     esi, edx
mov     rdi, rax
call    SanalCPU::move(int)

1 cpu saatinde çalışacak instruction sayısı üstel olarak artıyor.
 
Son düzenleme:
Çözüm
Adamlar fiziksel bir CPU'yu birebir taklit edecek kodlar yazıyorlar, aynı gerçek bir CPU gibi içerisinde Register'ları, Stack'i vs var ama fiziksel olarak değil, sanal bir şekilde olduğu için bütün yük işlemciye biniyor.

Ek olarak da bir bilgi ekleyeyim. Eğer emülatör "hardware" Render'ı kullanırsa yüksek derecede ekran kartı da kullanır.

Ama ana işler işlemcide döner hep.
 
Yukarıdaki arkadaş epey teknik olarak açıklamış ağzına sağlık. Ama mantık basit, adı üstünde emulatör. Gidip bambaşka bir sistem üzerinde, onun işletim sistemine ve donanımına özel üretilmiş bir oyunu yani yazılımı başka bir platformda çalıştırmaya çalışıyorsun. Şunu okuyunca neden işlemci istediği anlaşılıyor bence :D