Skip to content

Releases: aprillz/MewVG

v0.6.0

Choose a tag to compare

@github-actions github-actions released this 06 Jul 14:02

Full Changelog: v0.5.5...v0.6.0

v0.5.5

Choose a tag to compare

@github-actions github-actions released this 26 Jun 17:22

Full Changelog: v0.5.4...v0.5.5

v0.5.4

Choose a tag to compare

@github-actions github-actions released this 20 Jun 04:26

Improvements

  • Optimized MewVG's managed tessellator path to reduce CPU cost and managed allocations for complex fill tessellation.
  • Reused tessellation result buffers in the NVGContext fill rendering path.
  • Replaced several short-lived temporary arrays in the LibTessDotNet port with Span<T>/stackalloc.
  • Added a ReadOnlySpan<T> contour input path to reduce internal conversion overhead.
  • Removed temporary Stack<T> allocation from tessellation priority queue initialization.
  • Removed Expression.Compile() based object creation from the LibTessDotNet object pool for better NativeAOT compatibility.
  • Used ArrayPool<T> for large temporary fill-cache contour buffers to reduce allocation spikes for large paths.

Changes

  • Kept the existing array-owning TessResult public API and added reusable result-buffer support for internal rendering paths.
  • Frozen fill caches continue to use owning arrays because cached tessellation output must remain stable.
  • Added benchmark projects for comparing the local implementation against the Aprillz.MewVG.Core 0.5.3 package.

개선

  • MewVG의 managed tessellator 경로를 최적화해 복잡한 fill tessellation의 CPU 비용과 할당을 줄였습니다.
  • NVGContext의 fill 렌더링 경로에서 tessellation 결과 버퍼를 재사용하도록 개선했습니다.
  • LibTessDotNet 포팅 코드의 일부 임시 배열을 Span<T>/stackalloc 기반으로 변경해 짧은 수명 할당을 줄였습니다.
  • contour 입력 경로에 ReadOnlySpan<T> 기반 API를 추가해 내부 변환 비용을 줄였습니다.
  • tessellation priority queue 초기화 과정의 임시 Stack<T> 할당을 제거했습니다.
  • NativeAOT 친화성을 위해 LibTessDotNet object pool의 Expression.Compile() 기반 생성 경로를 제거했습니다.
  • 큰 fill cache contour 임시 버퍼에 ArrayPool<T>를 사용해 대형 path 처리 시 임시 할당을 줄였습니다.

변경

  • 기존 배열 소유형 TessResult public API는 유지하면서, 내부 렌더링 경로에는 재사용 가능한 결과 버퍼를 추가했습니다.
  • frozen fill cache는 결과를 오래 보관해야 하므로 기존 배열 소유 방식을 유지합니다.
  • 벤치마크 프로젝트를 추가해 로컬 구현과 Aprillz.MewVG.Core 0.5.3 패키지를 비교할 수 있게 했습니다.

English

Full Changelog: v0.5.3...v0.5.4

v0.5.3

Choose a tag to compare

@github-actions github-actions released this 07 Jun 12:06

Full Changelog: v0.5.2...v0.5.3

v0.5.2

Choose a tag to compare

@github-actions github-actions released this 11 May 14:03

Full Changelog: v0.5.1...v0.5.2

v0.5.1

Choose a tag to compare

@github-actions github-actions released this 10 May 19:09

Full Changelog: v0.4.0...v0.5.1

v0.4.0

Choose a tag to compare

@github-actions github-actions released this 24 Apr 15:59

Full Changelog: v0.3.2...v0.4.0

v0.3.2

Choose a tag to compare

@github-actions github-actions released this 13 Apr 01:05

Full Changelog: v0.3.1...v0.3.2

v0.3.1

Choose a tag to compare

@github-actions github-actions released this 09 Apr 06:26

Full Changelog: v0.3.0...v0.3.1

v0.3.0

Choose a tag to compare

@github-actions github-actions released this 09 Mar 07:21

Full Changelog: v0.2.1...v0.3.0