mirror of
https://github.com/bevyengine/bevy
synced 2024-12-23 11:33:06 +00:00
d33f5c759c
# Objective Fixes #6689. ## Solution Add `single-threaded` as an optional non-default feature to `bevy_ecs` and `bevy_tasks` that: - disable the `ParallelExecutor` as a default runner - disables the multi-threaded `TaskPool` - internally replace `QueryParIter::for_each` calls with `Query::for_each`. Removed the `Mutex` and `Arc` usage in the single-threaded task pool. ![image](https://user-images.githubusercontent.com/3137680/202833253-dd2d520f-75e6-4c7b-be2d-5ce1523cbd38.png) ## Future Work/TODO Create type aliases for `Mutex`, `Arc` that change to single-threaaded equivalents where possible. --- ## Changelog Added: Optional default feature `multi-theaded` to that enables multithreaded parallelism in the engine. Disabling it disables all multithreading in exchange for higher single threaded performance. Does nothing on WASM targets. --------- Co-authored-by: Carter Anderson <mcanders1@gmail.com>
46 lines
1.2 KiB
TOML
46 lines
1.2 KiB
TOML
[package]
|
|
name = "bevy_ecs"
|
|
version = "0.11.0-dev"
|
|
edition = "2021"
|
|
description = "Bevy Engine's entity component system"
|
|
homepage = "https://bevyengine.org"
|
|
repository = "https://github.com/bevyengine/bevy"
|
|
license = "MIT OR Apache-2.0"
|
|
keywords = ["ecs", "game", "bevy"]
|
|
categories = ["game-engines", "data-structures"]
|
|
|
|
[features]
|
|
trace = []
|
|
multi-threaded = ["bevy_tasks/multi-threaded"]
|
|
default = ["bevy_reflect", "multi-threaded"]
|
|
|
|
[dependencies]
|
|
bevy_ptr = { path = "../bevy_ptr", version = "0.11.0-dev" }
|
|
bevy_reflect = { path = "../bevy_reflect", version = "0.11.0-dev", optional = true }
|
|
bevy_tasks = { path = "../bevy_tasks", version = "0.11.0-dev" }
|
|
bevy_utils = { path = "../bevy_utils", version = "0.11.0-dev" }
|
|
bevy_ecs_macros = { path = "macros", version = "0.11.0-dev" }
|
|
|
|
async-channel = "1.4"
|
|
event-listener = "2.5"
|
|
thread_local = "1.1.4"
|
|
fixedbitset = "0.4.2"
|
|
rustc-hash = "1.1"
|
|
downcast-rs = "1.2"
|
|
serde = "1"
|
|
thiserror = "1.0"
|
|
|
|
[dev-dependencies]
|
|
rand = "0.8"
|
|
|
|
[[example]]
|
|
name = "events"
|
|
path = "examples/events.rs"
|
|
|
|
[[example]]
|
|
name = "resources"
|
|
path = "examples/resources.rs"
|
|
|
|
[[example]]
|
|
name = "change_detection"
|
|
path = "examples/change_detection.rs"
|