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

Clear replay renderer when all instances are deleted. #1976

Merged
merged 1 commit into from
Dec 27, 2022

Conversation

0mdc
Copy link
Contributor

@0mdc 0mdc commented Dec 23, 2022

Motivation and Context

The batch renderer currently cannot delete individual instances. Because of this, it quickly reaches internal limits when repeatedly changing scenes. The batch renderer can however delete all instances at once.

This changeset clears the frame when the player detects that the applied keyframe is deleting all instances.

This implementation is preferred to an explicit clearFrame keyframe flag as it doesn't force the implementer (blender script, etc) to delete its instances in a specific way. However, it cannot detect leaking instances from a misused recorder.

How Has This Been Tested

Tested in python viewer by repeatedly changing scenes.

Types of changes

  • Docs change / refactoring / dependency upgrade
  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Checklist

  • My code follows the code style of this project.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have read the CONTRIBUTING document.
  • I have completed my CLA (see CONTRIBUTING)
  • I have added tests to cover my changes.
  • All new and existing tests passed.

@facebook-github-bot facebook-github-bot added the CLA Signed Do not delete this pull request or issue due to inactivity. label Dec 23, 2022
Copy link
Contributor

@eundersander eundersander left a comment

Choose a reason for hiding this comment

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

Left a minor comment but otherwise LGTM!

src/esp/gfx/replay/Player.cpp Show resolved Hide resolved
@0mdc 0mdc force-pushed the replay-clear-memory-on-scene-change branch from 53e253f to 068d48c Compare December 27, 2022 22:05
@0mdc 0mdc merged commit 56da82b into main Dec 27, 2022
@0mdc 0mdc deleted the replay-clear-memory-on-scene-change branch December 27, 2022 23:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CLA Signed Do not delete this pull request or issue due to inactivity.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants