mirror of
https://github.com/thorvg/thorvg.git
synced 2025-06-08 13:43:43 +00:00
![]() Streaming model for massive vertex and index creations: minimize memory allocations, range checks and other conditions Reduce number of segments length calculations (sqrt) and bbox (min and max). Update distances and bboxes on a whole buffer and only if necessary. For shapes without strokes compute distances not necessary at all. bbox can be updated only on the final stage of geometry workflow, but not on the each stage. Using stack memory instead of heap. its more cache friendly and did not fragment memory, faster memory allocations (weak place of realization) Using cache for points distances and whole path length. Updates only if necessary Validation of geometry consistency executes only on the final stage of path life cicle. It more friendly for data streaming: no any conditions and branches. Using binary search for strokes trimming Pre-cached circles geometry for caps and joints Refactored strokes elements generation functions. Code is more readable and modifiable in general. Can be easily fixed if some geometry issues will be finded |
||
---|---|---|
.. | ||
gl_engine | ||
sw_engine | ||
wg_engine | ||
meson.build | ||
tvgAccessor.cpp | ||
tvgAnimation.cpp | ||
tvgAnimation.h | ||
tvgCanvas.cpp | ||
tvgCanvas.h | ||
tvgCommon.h | ||
tvgFill.cpp | ||
tvgFill.h | ||
tvgFrameModule.h | ||
tvgGlCanvas.cpp | ||
tvgInitializer.cpp | ||
tvgIteratorAccessor.h | ||
tvgLoader.cpp | ||
tvgLoader.h | ||
tvgLoadModule.h | ||
tvgPaint.cpp | ||
tvgPaint.h | ||
tvgPicture.cpp | ||
tvgPicture.h | ||
tvgRender.cpp | ||
tvgRender.h | ||
tvgSaveModule.h | ||
tvgSaver.cpp | ||
tvgScene.cpp | ||
tvgScene.h | ||
tvgShape.cpp | ||
tvgShape.h | ||
tvgSwCanvas.cpp | ||
tvgTaskScheduler.cpp | ||
tvgTaskScheduler.h | ||
tvgText.cpp | ||
tvgText.h | ||
tvgWgCanvas.cpp |