Skip to content

Relax: improve RelaxLogic update performance #1669

@jfranmatheu

Description

@jfranmatheu

Additionally to #1667 which targets the Accel structure being used by RelaxLogic, this issue aims to speed up the update method of RelaxLogic with minimal changes which will benefit the Relax tool performance and user experience.

Test scenario

Target:

  • 45k tris
  • 23k verts
  • 68k edges

Source: 1.5M tris

Issues

  • Same bme_midpoint or bmf_midpoint computed multiple times.
  • Cumulative times for small operations does increase the overall time in dense meshes.

Calculated averages:

  • RelaxLogic.update: before ≈ 1.605 s, now ≈ 1.121 s → improvement up to ≈ 30% faster.
  • RelaxLogic.update.relax3d: before ≈ 0.544 s, now ≈ 0.380 s → improvement up to ≈ 30% faster.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions