Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Performance Issue #15

Open
jocmer opened this issue Oct 15, 2017 · 5 comments
Open

Performance Issue #15

jocmer opened this issue Oct 15, 2017 · 5 comments

Comments

@jocmer
Copy link

jocmer commented Oct 15, 2017

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.

@DarthTon
Copy link
Owner

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

@jocmer
Copy link
Author

jocmer commented Nov 17, 2017

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?)

@DarthTon
Copy link
Owner

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.

@jocmer
Copy link
Author

jocmer commented Nov 17, 2017

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?

@jocmer
Copy link
Author

jocmer commented Dec 12, 2017

GPU isn't affected by the hypervisor too, so what are any other possible reasons?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants