Ferrite-FEM / Ferrite-FEM/FerriteViz.jl

Reduction of Allocations -> make FerriteViz go vroom

Open
#66 9 comments 0 reactions 0 assignees View on GitHub
help wanted refactor
Dominant language
Julia
Stars
36
Forks
11
Avg merge
14d 16h
Merged PRs (30d)
1

Description

With https://github.com/Ferrite-FEM/FerriteViz.jl/pull/63 we exploit something conceptually, however, the current implementation allocates rather much, because we run into

https://github.com/MakieOrg/Makie.jl/blob/adc9d9ae3523f746f9c32652c833a59bfc0167b2/src/conversions.jl#L581-L595

by e.g.

https://github.com/Ferrite-FEM/FerriteViz.jl/blob/59285b4e5ebeaf08f5b0dee25b181bf4d5ac96d3/src/makieplotting.jl#L95

where instead we could directly provide a `GLNormalMesh` which shouldn't allocate further according to Simon. If that's the case it is a bug in Makie and we could circumvent it by directly overloading recipe internals, such as [`draw_atomic`](https://github.com/MakieOrg/Makie.jl/blob/eccef83e4b95f4211357c49357a1a6324be680b0/GLMakie/src/drawing_primitives.jl#L502-L509). Besides that we could directly use `Makie.Buffer` to construct the `GLNormalMesh` in the spirit of https://docs.makie.org/stable/examples/plotting_functions/mesh/index.html#using_geometrybasicsmesh_and_buffersampler_type

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.