mirror of
https://github.com/emilk/egui.git
synced 2026-06-26 22:53:14 -04:00
Put font data into Arc to reduce memory consumption (#5276)
egui never accesses the `FontDefinitions`' member fields mutably, except in `fonts_tweak_ui` where it cloned the `FontDefinitions` object anyway. This patch reduces system memory consumption for shared font definitions. And also removes some overhead from copying (e.g. for the per `pixel_per_points` font atlas) Also it allows to keep a copy of the font definitions outside of egui. In my App that uses international fonts: Before:  New:  Note: If `Arc` is not wanted, then it could ofc be abstracted away. I know this is quite a breaking change API wise, but would like to hear your opinion.
This commit is contained in:
@@ -48,9 +48,9 @@ fn replace_fonts(ctx: &egui::Context) {
|
||||
// .ttf and .otf files supported.
|
||||
fonts.font_data.insert(
|
||||
"my_font".to_owned(),
|
||||
egui::FontData::from_static(include_bytes!(
|
||||
std::sync::Arc::new(egui::FontData::from_static(include_bytes!(
|
||||
"../../../crates/epaint_default_fonts/fonts/Hack-Regular.ttf"
|
||||
)),
|
||||
))),
|
||||
);
|
||||
|
||||
// Put my font first (highest priority) for proportional text:
|
||||
|
||||
Reference in New Issue
Block a user