Inline the write a glyph goes through
Whether the inliner took DrawLayers::write into Painter::glyphs turned out to depend on unrelated code elsewhere in iris-core: adding the declared-length resolution pushed it out, and a call per glyph cost 12% of a resize frame with every counter -- widget draws, primitive writes, text renders -- unchanged. Saying so directly leaves the two decisions independent. The random-tree rig is 12.59B instructions where it was 13.25B before either change. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
de9ddc0ad4
commit
9644971daf
1 file changed
+4
@@ -120,6 +120,10 @@ impl<T: Default> Layers<T> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
impl DrawLayers {
|
impl DrawLayers {
|
||||||
|
/// Inlined on purpose: it is one call per glyph, the innermost thing a
|
||||||
|
/// frame does, and whether the inliner takes it turns out to depend on
|
||||||
|
/// unrelated code elsewhere in the crate -- 12% of a resize frame.
|
||||||
|
#[inline]
|
||||||
pub fn write<P: Primitive>(
|
pub fn write<P: Primitive>(
|
||||||
&mut self,
|
&mut self,
|
||||||
layer: LayerId,
|
layer: LayerId,
|
||||||
|
|||||||
Reference in new issue
Block a user