Browse Source
Cache LIB_PIN text extents for performance.
Cache LIB_PIN text extents for performance.
Also fixes a bug where we didn't triangulate at all when the char count didn't warrant the likely overhead of spinning up a thread_pool. And fix another bug where EDA_TEXT::GetRenderCache() wasn't using the given font. Also reverts using the cache for drawing-sheet text. The text items are created from scratch from the data items each time they're drawn, so there's never an existing cache to make use of. Instead, we now check that the item is in the view, using a very approximate bounding box generator (because even generating a real bounding box shows up large in profiles). And, lastly, fixes a bug where EndPos was never considered in DS_DATA_ITEM::IsInsidePage(). Fixes https://gitlab.com/kicad/code/kicad/-/issues/14822newinvert
16 changed files with 177 additions and 124 deletions
-
34common/drawing_sheet/ds_data_item.cpp
-
30common/drawing_sheet/ds_draw_item.cpp
-
23common/drawing_sheet/ds_painter.cpp
-
7common/drawing_sheet/ds_proxy_view_item.cpp
-
13common/eda_text.cpp
-
2common/gal/opengl/opengl_gal.cpp
-
82eeschema/lib_pin.cpp
-
51eeschema/lib_pin.h
-
20eeschema/sch_painter.cpp
-
4include/drawing_sheet/ds_data_item.h
-
10include/drawing_sheet/ds_draw_item.h
-
1include/eda_text.h
-
8pagelayout_editor/pl_editor_frame.cpp
-
6pagelayout_editor/tools/pl_drawing_tools.cpp
-
2pagelayout_editor/tools/pl_edit_tool.cpp
-
8pagelayout_editor/tools/pl_point_editor.cpp
Write
Preview
Loading…
Cancel
Save
Reference in new issue