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

Virtual methods in memory access and instruction decode #211

Closed
unknownbrackets opened this issue Apr 28, 2014 · 2 comments
Closed

Virtual methods in memory access and instruction decode #211

unknownbrackets opened this issue Apr 28, 2014 · 2 comments

Comments

@unknownbrackets
Copy link
Contributor

C++ is a great language and has many powerful features. However, some of them should not imho be misused within tight code.

PPSSPP does all instruction encoding in a fairly tight loop, and it can be fairly fast. It spends about 25% of its time in the interpreter decoding instructions, compared to about 50% in rpcs3.

Memory access of course is similarly bad, but has other solutions, like directly mapping into address space.

Is speed a goal in rpcs3 (I would think it'd have to be to ever make ps3 emulation bareable), or is using strong class design patterns a higher goal?

-[Unknown]

@ghost
Copy link

ghost commented Apr 28, 2014

Speed is a certainly a goal, but rpcs3 in itself is pretty much a scratchpad project. Memory access is very immature at this point, since it was designed to do the bare minimum needed.
This should and quite probably will be changed during the development of the emulator. The strict class design is merely a byproduct of attempted safe experimentation with the emulated PS3 environment.
For proper emulation this will be dropped in favor of faster solutions (direct mapping is a good example).

@Nekotekina
Copy link
Member

Fixed, no more virtual methods for memory access.

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

No branches or pull requests

3 participants