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
Place pinned memory as top priority. #555
Conversation
|
@dolphin-emu-bot rebuild |
|
@dolphin-emu-bot rebuild |
|
Merge asap, amd people are already complaining about bad performance on the forums |
|
It's sad that coherent mapping is slower than pinned memory as it's basicly the same :/ LGTM |
|
Comment needs to be clarified, otherwise LGTM. |
| return new BufferStorage(type, size); | ||
|
|
||
| // pinned memory is almost as fine | ||
| // pinned memory is much faster on amd cards |
This comment was marked as off-topic.
This comment was marked as off-topic.
Sorry, something went wrong.
Place pinned memory as top priority.
|
On my HD6850 performance seems to be exactly same as using buffer_storage, maybe you tested old catalysts (i use latest 14.6 RC). It would be better to add this as configurable option... |
|
Regardless of that, many others have said that Buffer Storage + Coherent Mapping off was extremely slow. Pinned Memory being used fixes that, without needing a hack for AMD video cards. |
Was doing some testing with buffer storage, coherent mapping, and pinned memory, and found out that Pinned Memory was faster on AMD cards even with coherent mapping on. As such, if we move Pinned Memory to the first priority, it makes both NVIDIA and AMD get maximum performance.
On my Radeon HD5850, this is an 8% boost compared to before the performance regression. This should probably be tested on a variety of graphics cards even though it's a minor change. I do know it works fine on my GTX 760 and my Radeon HD5850.
Implementation is based on what Sonicadvance1 told me to do plus the fact only AMD supports Pinned Memory, no one else.