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

Better Vertex caching #250

Open
wants to merge 14 commits into
base: jno
Choose a base branch
from
Open

Better Vertex caching #250

wants to merge 14 commits into from

Conversation

emmauss
Copy link
Owner

@emmauss emmauss commented Nov 10, 2016

We can improve the vertex caching of Pica, by:

  • Using a better caching data structure, having O(1) access time.
  • Caching the output vertices, instead of the output registers

Consequence of the patch:

  • Increases memory footprint slightly, since we increase
    the size of the vertex cache.
  • Performance increase, since more values are cached.
  • Performance increase, since cache lookup time is now O(1).

From my performance analysis of Pokemon OR, I see that:

  • ToVertex is a big hotspot (7% during intro scene)
  • WritePicaReg is also a big hotspot (5% during the intro scene)

jroweboy and others added 8 commits November 5, 2016 02:55
Allows users to choose a single screen layout or a large screen layout.
Adds a configuration option to change the prominent screen.
Make small screen stay at 1x, and large screen maintain its aspect ratio.
jroweboy and others added 5 commits November 12, 2016 10:49
Support additional screen layouts.
This patch brings +3% performance improvement on average. It removes
ToVertex() as an important hotspot of the emulator.
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.

7 participants