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

Refactor frame processing & add frame maxing #495

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

JesseFarebro
Copy link
Collaborator

@JesseFarebro JesseFarebro commented Aug 22, 2023

Overview

  • Created a frame processor interface where we now have implemented:
    • Frame averaging (phosphor blend)
    • Frame maxing
    • Identity (no processing)
  • This PR also removes unneeded copying of the frame buffer & RAM buffer on each emulation step. This results in a slight performance improvement.

Frame Maxing details

As for frame maxing, we perform frame maxing per channel if getScreenRGB is called. This is standard and what DeepMind's preprocessing does. If getScreenGrayscale is called then we just take the max over luminosity.

Fixes #467.

@jjshoots jjshoots mentioned this pull request Feb 6, 2024
@pseudo-rnd-thoughts
Copy link
Member

Will this require environment version update?

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.

Do the V5 environments perform frame pooling?
2 participants