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

Experimental code for shared memory reservations #8008

Merged
merged 2 commits into from
Apr 15, 2020

Conversation

Nekotekina
Copy link
Member

If there is no noticeable degradation, I may consider using it. Currently it's very unclear.
Both TSX and non-TSX CPUs are welcomed to test.

@Nekotekina Nekotekina marked this pull request as draft April 11, 2020 14:28
{
static const auto test_addr = [](const u32 target, const u32 addr, const u32 end)
if (addr < 0x10000 + g_locations[vm::main]->size || addr >= 0xc0000000)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

stack memory allows reservations.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Well, I didn't assume otherwise. I only assumed it didn't allow oddities (shared memory).

@legend800
Copy link

Didn't see any regressions in heavy games from my testing like GOW, Wipeout, MS Apocalypse.

GOW3 PR:
2020-04-11 08_55_27-FPS_ 17 05 _ Vulkan _ 0 0 9-156135ba-rsrv _ God of War® III  BCUS98111

Master:
2020-04-11 09_00_17-FPS_ 15 19 _ Vulkan _ 0 0 9-10164 _ God of War® III  BCUS98111

@elad335
Copy link
Contributor

elad335 commented Apr 11, 2020

Try with tsx disabled.

@Andryshik345
Copy link
Contributor

Tried some games on AMD Ryzen 5 1600 3.4 GHz and for me there's not so much degradation, maybe 1-3 fps.

NFS ProStreet

With PR:
nfs with neko pr
Without PR:
nfs without neko pr

Portal 2

With PR:
portal 2 with neko pr

Without PR:
portal 2 without neko pr

@psennermann

This comment has been minimized.

@Nekotekina
Copy link
Member Author

Nekotekina commented Apr 13, 2020

@psennermann
Copy link

With Ni no Kuni there doesn't seem to be any real difference (frames are not capped and same value is pure coincidence)

PR
Desktop Screenshot 2020 04 13 - 16 56 32 12

MASTER
Desktop Screenshot 2020 04 13 - 16 52 58 67

@Nekotekina
Copy link
Member Author

Fixed a bug, need retest.

@dio-gh
Copy link
Contributor

dio-gh commented Apr 13, 2020

Tested with Persona 5 and Nier on my i7 7700HQ and to my absolute surprise, I saw no perf degradation. LGTM.

@lainiwaku
Copy link

tested on resistance 1/3 no difference

@Andryshik345
Copy link
Contributor

No difference for me too, i think.

NFS ProStreet

with PR:
nfs with neko pr_2

master:
nfs without neko pr_2

@psennermann
Copy link

Heavenly Sword seems to have the same performance as well

@frymezim
Copy link

Tested it as well on my Intel 4770HQ laptop with Ni no kuni. The FPS is ranging from 15-26 on this build and same with master build.

@Nekotekina Nekotekina marked this pull request as ready for review April 15, 2020 14:53
@Nekotekina Nekotekina changed the title [Needs performance comparison] Experimental code for shared memory reservations Experimental code for shared memory reservations Apr 15, 2020
Enables trivial synchronization between shared mem.
Reduces memory usage, but potentially degrades performance.
Rename an overload of vm::passive_lock to vm::range_lock.
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

Successfully merging this pull request may close these issues.

None yet

8 participants