bevy/crates
Patrick Walton 5b746d2b19
Pack the StandardMaterialKey into a single scalar instead of a structure. (#12783)
This commit changes the `StandardMaterialKey` to be based on a set of
bitflags instead of a structure. We hash it every frame for every mesh,
and `#[derive(Hash)]` doesn't generate particularly efficient code for
large structures full of small types. Packing it into a single `u64`
therefore results in a roughly 10% speedup in `queue_material_meshes` on
`many_cubes --no-frustum-culling`.

![Screenshot 2024-03-29
075124](https://github.com/bevyengine/bevy/assets/157897/78afcab6-b616-489b-8243-da9a117f606c)
2024-03-29 18:34:27 +00:00
..
bevy_a11y Set the logo and favicon for all of Bevy's published crates (#12696) 2024-03-25 18:52:50 +00:00
bevy_animation Move FloatOrd into bevy_math (#12732) 2024-03-27 18:30:11 +00:00
bevy_app Move PanicHandlerPlugin into bevy_app (#12640) 2024-03-29 02:04:56 +00:00
bevy_asset Allow converting mutable handle borrows to AssetId. (#12759) 2024-03-28 15:53:26 +00:00
bevy_audio updated audio_source.rs documentation (#12765) 2024-03-28 19:10:09 +00:00
bevy_color Move Point out of cubic splines module and expand it (#12747) 2024-03-28 13:40:26 +00:00
bevy_core Forbid unsafe in most crates in the engine (#12684) 2024-03-27 03:30:08 +00:00
bevy_core_pipeline Move FloatOrd into bevy_math (#12732) 2024-03-27 18:30:11 +00:00
bevy_derive Forbid unsafe in most crates in the engine (#12684) 2024-03-27 03:30:08 +00:00
bevy_dev_tools Forbid unsafe in most crates in the engine (#12684) 2024-03-27 03:30:08 +00:00
bevy_diagnostic Forbid unsafe in most crates in the engine (#12684) 2024-03-27 03:30:08 +00:00
bevy_dylib Set the logo and favicon for all of Bevy's published crates (#12696) 2024-03-25 18:52:50 +00:00
bevy_dynamic_plugin Forbid unsafe in most crates in the engine (#12684) 2024-03-27 03:30:08 +00:00
bevy_ecs Add QueryState::contains, document complexity, and make as_nop pub(crate) (#12776) 2024-03-29 14:49:43 +00:00
bevy_ecs_compile_fail_tests Fix Ci failing over dead code in tests (#12623) 2024-03-21 18:08:47 +00:00
bevy_encase_derive Forbid unsafe in most crates in the engine (#12684) 2024-03-27 03:30:08 +00:00
bevy_gilrs Forbid unsafe in most crates in the engine (#12684) 2024-03-27 03:30:08 +00:00
bevy_gizmos Fix ambiguities causing a crash (#12780) 2024-03-29 16:00:13 +00:00
bevy_gltf Forbid unsafe in most crates in the engine (#12684) 2024-03-27 03:30:08 +00:00
bevy_hierarchy Forbid unsafe in most crates in the engine (#12684) 2024-03-27 03:30:08 +00:00
bevy_input Forbid unsafe in most crates in the engine (#12684) 2024-03-27 03:30:08 +00:00
bevy_internal Fix ambiguities causing a crash (#12780) 2024-03-29 16:00:13 +00:00
bevy_log Fix unhandled null characters in Android logs (#12743) 2024-03-29 03:04:46 +00:00
bevy_macro_utils Forbid unsafe in most crates in the engine (#12684) 2024-03-27 03:30:08 +00:00
bevy_macros_compile_fail_tests Fix Ci failing over dead code in tests (#12623) 2024-03-21 18:08:47 +00:00
bevy_math Fix Triangle2d/Triangle3d interior sampling to correctly follow triangle (#12766) 2024-03-29 13:10:23 +00:00
bevy_mikktspace Forbid unsafe in most crates in the engine (#12684) 2024-03-27 03:30:08 +00:00
bevy_pbr Pack the StandardMaterialKey into a single scalar instead of a structure. (#12783) 2024-03-29 18:34:27 +00:00
bevy_ptr Forbid unsafe in most crates in the engine (#12684) 2024-03-27 03:30:08 +00:00
bevy_reflect Forbid unsafe in most crates in the engine (#12684) 2024-03-27 03:30:08 +00:00
bevy_reflect_compile_fail_tests Fix Ci failing over dead code in tests (#12623) 2024-03-21 18:08:47 +00:00
bevy_render Make PersistentGpuBufferable a safe trait (#12744) 2024-03-29 13:14:34 +00:00
bevy_scene Update the Children component of the parent entity when a scene gets deleted (#12710) 2024-03-29 13:13:32 +00:00
bevy_sprite Support wireframes for 2D meshes (#12135) 2024-03-29 18:34:04 +00:00
bevy_tasks Forbid unsafe in most crates in the engine (#12684) 2024-03-27 03:30:08 +00:00
bevy_text Move FloatOrd into bevy_math (#12732) 2024-03-27 18:30:11 +00:00
bevy_time Forbid unsafe in most crates in the engine (#12684) 2024-03-27 03:30:08 +00:00
bevy_transform Forbid unsafe in most crates in the engine (#12684) 2024-03-27 03:30:08 +00:00
bevy_ui Move FloatOrd into bevy_math (#12732) 2024-03-27 18:30:11 +00:00
bevy_utils Move FloatOrd into bevy_math (#12732) 2024-03-27 18:30:11 +00:00
bevy_window Forbid unsafe in most crates in the engine (#12684) 2024-03-27 03:30:08 +00:00
bevy_winit Add Clone to WinitSettings (#12787) 2024-03-29 17:24:11 +00:00