FPS Drops Over Time After Enabling TextureShare Plugin in UE 5.7.2

Hi,

I am using Unreal Engine 5.7.2. I created a very simple blank C++ project and added a cube object to the scene.

I set the Fixed Frame Rate to 50 FPS in the Project Settings. After that, I enabled the TextureShare plugin and placed a BP_TextureShare actor in the level. I cleared the data from the Send and Receive Texture properties in the Details panel and saved the scene.

Then, I launched the project as Standalone Game and used the following console commands to monitor performance:

~stat FPS
~stat unit

Initial Behavior

  • FPS was exactly 50

  • Game thread time was approximately 1.65 ms

I left the application running for some time.

After 2 Hours

  • FPS was still showing 50

  • Game thread time increased to around 14 ms

After More Time

  • Game thread time crossed 20 ms

  • FPS started dropping below 50

After Overnight (~15 Hours)

This same setup works perfectly in Unreal Engine 5.4, with no performance degradation over time.

Because of this FPS drop issue, I am unable to use the TextureShare plugin in UE 5.7.2.

Any help would be greatly appreciated.

Thank you.

Vineet

Hello there @VineetGoelGZB!

Checking your scenario with my peers, this sounds like the game thread is having a memory leak, or a parameter/registry is growing out of control. Considering your described rate overtime, it sounds more like the second option. Going back, reviewing possible changes between 5.4 and 5.7.2, a lot of things have changed since then.

From what I could find, the TextureShare plugin in particular, the updates for it introduced a sync buffer, and changed how it handles frame history. Now it tracks all previous frames for sync validation, and if there’s no upper limit for it, it can grow forever. To avoid that, add the following lines to your “DefaultEngine.ini” file:

[TextureShare]
bEnableSyncPolicy=False
MaxFrameHistoryCount=1

That change should stop the sync buffer from overflowing the project. Just in case, I would also review the settings of your BP_TextureShare actor. Simply open it, go to the details panel, and search for any active Sync Policy option. If present there, change it from Auto/FrameSync to None/Manual.

Hope this helps, and good luck!