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

Optimization ideas #1

Open
1 of 2 tasks
superctr opened this issue Apr 4, 2020 · 0 comments
Open
1 of 2 tasks

Optimization ideas #1

superctr opened this issue Apr 4, 2020 · 0 comments
Labels
enhancement New feature or request

Comments

@superctr
Copy link
Owner

superctr commented Apr 4, 2020

  • Currently I measured the runtime to 10 lines if 4 FM channels are active but not updated
  • Trigger priority calculation based on channel allocation/deallocation rather than always doing it on each frame.
  • Skip pitch calculation routine when not needed. I think checking a bitmask of the following new flags:
    • pitch envelope active. Set by new note, cleared if pitch envelope is finished or not active.
    • portamento active. Set by new note, cleared if portamento is completed
    • pitch update triggered by new note, dtn or trs commands
@superctr superctr added the enhancement New feature or request label Apr 5, 2020
superctr added a commit that referenced this issue Jun 22, 2020
- Priority is only recalculated when tracks are started/stopped.
  Reduces cpu load by at least 20-30% when a lot of tracks are playing.

- Some minor CPU cycle shaving in the song and track update loops.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant