Many newer overlays use IRenderTextures that are sized to the rendered viewport. This was completely broken, because a single viewport can be rendered on multiple viewports in a single frame.
The end result of this was that in the better case, constant render targets were allocated and freed, which is extremely inefficient. In the worse case, many of these overlays completely failed to Dispose() their render targets, leading to *extremely* swift VRAM OOMs.
This fixes all the overlays to properly cache resources per viewport. This uses new engine functionality, so it requires engine master.
This is still a pretty lousy way to do GPU resource management but, well, anything better needs a render graph, so...
* Initial commit
* Fixing merge conflict
* Merge conflict fixed
* Anchorable entities can now be marked as 'unanchorable'
* Revert "Anchorable entities can now be marked as 'unanchorable'"
This reverts commit 6a502e62a703cf06bd36ed3bdefe655fc074cfc5
This functionality will be made into a separate PR
* Error sprite
* Update AI core appearance with sustained damage, spawn scrap on destroyed
* Added intellicard sprite
* AI damage overlays
* Added fixtures
* AI core accent changes when damaged or low on power
* Bug fix and pop up messages for inserting AIs into inoperable cores
* Updated 'dead' sprite
* Destroying the AI core reduces the number of AI job slots available
* AI battery duration set to 10 minutes
* Initial commit
* Allow MMIs used in the construction of AI cores to take them over
* Initial resources commit
* Initial code commit
* Sprite update
* Bug fixes and updates
* Basic console UI
* Code refactor
* Added lock screen
* Added all outstanding UI features
* Added purge sprites
* Better appearance handling
* Fixed issue with purge sprite
* Finalized UI design
* Major components finalized
* Bit of clean up
* Removed some code that was used for testing
* Tweaked some text
* Removed extra space
* Added the circuitboard to the RD's locker
* Addressed reviewer comments plus tweaks
* Addressed reviewer comments plus tweaks
* Removed instances of granular damage
* Various improvements
* Removed testing code
* Fixed issue with disabled buttons
* Finalized code
* Addressed review comments
* Added a spare Station AI core electronics to the research director's locker
* Fixing build failure
* Addressed review comments
* Addressed review comments
* Added reverse path for construction graph
* Removed unneeded reference
* Parts can be purchased through cargo
* Fixing merge conflict
* Merge conflict resolved
* Fixing merge conflict
* Code update
* Code updates
* Increased AI core health and gave it a sell price to fix test fail
* Added screen static sprite
* Added better support for ghosted AI players plus code tweaks
* Various improvements and clean up
* Increased purge duration to 60 seconds
* Fixed needless complication
* Addressed reviewer comments part 1
* Addressed reviewer comments part 2
* Further fixes
* Trying lower battery values to see if it fixes the test fail
* Adjusted power values again
* Addressed review comments
* Addressed review comments
* Fixed test fail
* Fixed bug with endless rebooting. Using rejuvenation on an AI core revives the AI inside.
* Added pop up text
* Bug fix
* Tweaks and fixes
* Fixed restoration console not updating when the AI finishes rebooting
* Update SharedStationAiSystem.Held.cs
---------
Co-authored-by: ScarKy0 <scarky0@onet.eu>