![]() # Objective - Fixes #4610 ## Solution - Replaced all instances of `parking_lot` locks with equivalents from `std::sync`. Acquiring locks within `std::sync` can fail, so `.expect("Lock Poisoned")` statements were added where required. ## Comments In [this comment](https://github.com/bevyengine/bevy/issues/4610#issuecomment-1592407881), the lack of deadlock detection was mentioned as a potential reason to not make this change. From what I can gather, Bevy doesn't appear to be using this functionality within the engine. Unless it was expected that a Bevy consumer was expected to enable and use this functionality, it appears to be a feature lost without consequence. Unfortunately, `cpal` and `wgpu` both still rely on `parking_lot`, leaving it in the dependency graph even after this change. From my basic experimentation, this change doesn't appear to have any performance impacts, positive or negative. I tested this using `bevymark` with 50,000 entities and observed 20ms of frame-time before and after the change. More extensive testing with larger/real projects should probably be done. |
||
---|---|---|
.. | ||
batched_uniform_buffer.rs | ||
bind_group_layout.rs | ||
bind_group.rs | ||
buffer_vec.rs | ||
buffer.rs | ||
gpu_array_buffer.rs | ||
mod.rs | ||
pipeline_cache.rs | ||
pipeline_specializer.rs | ||
pipeline.rs | ||
resource_macros.rs | ||
shader.rs | ||
storage_buffer.rs | ||
texture.rs | ||
uniform_buffer.rs |