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

Effects fork-join parallel threading #594

Open
4 tasks
Sirbucket opened this issue Jun 5, 2021 · 10 comments
Open
4 tasks

Effects fork-join parallel threading #594

Sirbucket opened this issue Jun 5, 2021 · 10 comments
Labels
enhancement New feature or request needs triage Needs to be organized

Comments

@Sirbucket
Copy link

Description

Multi-threading for effects (tracers, particles, etc.) As far as I know, this does not exist in TF2 and I think it would improve performance.

Checklist

  • [X ] None of the open or closed issues document this idea.
  • [X ] This is a new idea, not a bug.
  • [X ] This idea does not seriously affect game balance.
  • [X ] This is obviously an improvement, not something that people commonly disagree on.
  • [X ] This is not an idea for new game content (e.g. new weapons, maps, sounds).
  • [X ] This idea is for the code of the game, not for textures, sounds, or other resources.
  • This idea has been implemented in vanilla TF2.
  • [X ] There is proof that this idea is well liked (e.g. a history of use of a similar mod in a competitive league).
  • This idea has been implemented in a mod.
  • This feature has existed in the vanilla game but was removed.
  • This idea is for internal procedures or tooling (e.g. improving the build process, supporting new systems).

Screenshots

Alternatives

  1. Don't implement it if it wouldn't improve performance.
  2. Improve the batch system if it's not already at it's best (IE dynamic batching)
@Sirbucket Sirbucket added enhancement New feature or request needs triage Needs to be organized labels Jun 5, 2021
@mastercoms
Copy link
Member

r_threaded_particles

@Sirbucket
Copy link
Author

Legit didn't know, wow that was fast af

@Sirbucket
Copy link
Author

Is dynamic batching a possibility though?

@Sirbucket
Copy link
Author

Like it batches at less than 60 FPS and doesn't batch at greater than 60 FPS, kind of like the jigglebones thing.

@mastercoms
Copy link
Member

That's not a good idea, because batching breaks many visual effects, so forced batching doesn't really make sense. I think there's some merit to a fork join pool for particles though, so re-opening

@mastercoms mastercoms reopened this Jun 5, 2021
@mastercoms mastercoms changed the title Effects Multi-threading Effects fork join threading Jun 5, 2021
@Sirbucket
Copy link
Author

Alright, well I sparked some kind of idea, lol

@Sirbucket
Copy link
Author

Ok just had to look this up, sounds good!

@Sirbucket
Copy link
Author

I've just been trying to think of ideas for performance improvements, I didn't see any change to effects multithreading so I assumed it didn't exist, I'm going to assume it actually works in base TF2 then?

@Sirbucket Sirbucket changed the title Effects fork join threading Effects fork-join parallel threading Jun 5, 2021
@Sirbucket
Copy link
Author

ooh and another thing to ask, do other multithreading methods you've touched already use fork-join or no?

@Sirbucket
Copy link
Author

So is that a yes or no?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request needs triage Needs to be organized
Projects
None yet
Development

No branches or pull requests

2 participants