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

Avoid updating textures more often than needed #2365

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

Conversation

axeldavy
Copy link


name: Pull Request
about: Create a pull request to help us improve
title: Avoid updating textures more often than needed
assignees: @hoffstadt

Description:
Currently textures are updated more often than needed, which can slow frame rate.
I found this issue using image series with large textures.

This pull request ensures that dynamic textures and raw textures are only updated when needed.

In addition the linux backend has a small bug that is fixed in this pull request. Indeed the previous PBO content was uploaded to the texture. This could introduce artifacts on a single frame. But since the textures are not updated every frame anymore with the proposed change, this fix is mandatory to prevent staying with the wrong content. The windows and Apple code do not seem to have this issue based on my analysis of the code.

In my use-case, the changes result in a x4 speedup.

Concerning Areas:
The changes are pretty trivial, and should be easy to review.

axeldavy added 2 commits July 26, 2024 22:11
The textures are updated using a PBO.

The correct order is:
- Fill the PBO
- Trigger the texture update from the PBO

And not the other.

This fixes incorrect data being sent on some
frames.
Track whether the texture content has changed.

This enables to avoid updating the texture every frame
if the content hasn't changed.
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.

1 participant