Skip to content

Conversation

@IamInnocent3X
Copy link

@IamInnocent3X IamInnocent3X commented Jan 3, 2026

Adresses issues: #57 and #124

ProjectileStreamUpdate - Minor changes of refractoring Modulo to use Comparison and Increment.
W3DProjectileStreamDraw - Minor change of updating Requirement Vector from being not equal zero Vector to any Vector above near zero.

Weapons

Added 4 FX Tweaking Variables:

  • FXRenderingInterval
  • FXMaxStackPerLoc
  • FXMaxStackInterval
  • CheckFireFXForFXMaxStack

The performance of Toxin Tractor and Dragon Tank can simply be improved by Increasing their Weapon's DelayBetweenShots from 40 to 80. This however, affects the Gameplay. Therefore, I propose a makeshift design to be able to Tweak Weapon's FX spawning Rate without affecting the Gameplay.

Each of these Variables enables the customization of Rendering WeaponFX and BoneFXUpdate without affecting Gameplay in any way.

FXRenderingInterval - Adds an interval for Weapons required to be able to Render the next FireFX and BoneFXUpdate.

  • BoneFXUpdate is one of the main features that reduces Performance for ProjectileStreamUpdate. Reducing the Generation of Particle from BoneFXUpdate will Increase the overall performance.

FXMaxStackPerLoc - If the FX used is from ProjectileDetonationFX, then the system will register the Name of the FiringWeapon with one Count onto the PartitionCell with PartitionManager. If the Count exceeds the configured variable, Weapons with the same name cannot Spawn ProjectileDetonationFX on the Same Cell with the registered name.

FXMaxStackInterval - Adds an Interval for the Registered Count of the previous Variable to be Obsolete. If not configured, the Weapon will use its 'DelayBetweenShots' variable to account for the delay.

CheckFireFXForFXMaxStack: Bypasses 'FXMaxStackPerLoc' original intent and Use FireFX for FXMaxStack. This is useful for Modules like FireWeaponWhenDeadBehavior or FireWeaponCollide that does not use ProjectileObject.

The performance improvements from using the above tweaks without changing the DelayBetweenShots is noticeable. ToxinTruckGun is configured with these parameters and able to achieve 50-60% performance boost.

image

@IamInnocent3X IamInnocent3X force-pushed the Optimize_ProjectileStream branch from bea4fed to 74511f8 Compare January 3, 2026 11:34
@IamInnocent3X IamInnocent3X force-pushed the Optimize_ProjectileStream branch from 74511f8 to 02c4953 Compare January 3, 2026 11:35
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