Open jocmer opened 7 years ago
I guess it's caused by lots of VM exits. EPT violations for DMA regions can also be an issue here. You can try to disable unneeded VM exit triggers and/or reduce amount of work done in VmxpExitHandler
I disabled cr3 exit which improved the performance slightly. But the performance while gaming is still unacceptable. I also don't experience EPT violations while playing. (Tested with DbgPrint)
So I don't know if there is anything I can do other then accept it. I mean logically speaking the performance issues are logical because CPU needs to translate virtual adresses two times? (Am I right?)
Address translation is done in CPU itself, it shoudn't add more than ~5% penalty. Try to log every VM exit and how many of them you get per second.
I got around ~60 VM exits per second because of CPUID. No other VM exits are happening.
EDIT: Is this normal? ~60 exit per second shouldn't affect the performance that bad?
GPU isn't affected by the hypervisor too, so what are any other possible reasons?
Hey!
I experience 50% loss of FPS in games like PUBG, H1z1 and CSGO. Do you have any suggestions how to improve the performance?
I already integrated SimpleVisor's MTRR implementation, which sets the right Memory Type of a EPT. (https://github.com/ionescu007/SimpleVisor/blob/master/shvvmx.c Line 26)
I also thought about using 2MB Pages instead of 4KB to improve the overall performance.