[Bf-blender-cvs] [8825d393c98] temp-T101739-fix-seam-bleeding-non-manifold: Added timeit macros, but need to use hotspot to find out what actually is happening.
Jeroen Bakker
noreply at git.blender.org
Tue Jan 17 15:47:04 CET 2023
Commit: 8825d393c98569c590bbc1fcce928723ea800128
Author: Jeroen Bakker
Date: Tue Jan 17 15:46:36 2023 +0100
Branches: temp-T101739-fix-seam-bleeding-non-manifold
https://developer.blender.org/rB8825d393c98569c590bbc1fcce928723ea800128
Added timeit macros, but need to use hotspot to find out what actually is happening.
===================================================================
M source/blender/blenkernel/intern/pbvh_pixels_copy.cc
===================================================================
diff --git a/source/blender/blenkernel/intern/pbvh_pixels_copy.cc b/source/blender/blenkernel/intern/pbvh_pixels_copy.cc
index 4e94f002244..5fc0ff776f5 100644
--- a/source/blender/blenkernel/intern/pbvh_pixels_copy.cc
+++ b/source/blender/blenkernel/intern/pbvh_pixels_copy.cc
@@ -99,6 +99,7 @@ class NonManifoldUVEdges : public Vector<Edge<CoordSpace::UV>> {
public:
NonManifoldUVEdges(const uv_islands::MeshData &mesh_data)
{
+ TIMEIT_START(det_edges);
int num_non_manifold_edges = count_non_manifold_edges(mesh_data);
reserve(num_non_manifold_edges);
for (const int primitive_id : mesh_data.looptris.index_range()) {
@@ -117,12 +118,14 @@ class NonManifoldUVEdges : public Vector<Edge<CoordSpace::UV>> {
}
BLI_assert_msg(size() == num_non_manifold_edges,
"Incorrect number of non manifold edges added. ");
+ TIMEIT_END(det_edges);
}
NonManifoldTileEdges extract_tile_edges(const image::ImageTileWrapper image_tile,
const int2 tile_resolution) const
{
NonManifoldTileEdges result;
+ TIMEIT_START(extract_edges);
// TODO: Only add edges that intersects with the given tile.
// TODO: Clamp edges to tile bounds.
@@ -131,6 +134,7 @@ class NonManifoldUVEdges : public Vector<Edge<CoordSpace::UV>> {
uv_edge, image_tile, tile_resolution);
result.append(tile_edge);
}
+ TIMEIT_END(extract_edges);
return result;
}
@@ -174,6 +178,7 @@ class PixelNodesTileData : public Vector<std::reference_wrapper<UDIMTilePixels>>
public:
PixelNodesTileData(PBVH &pbvh, const image::ImageTileWrapper &image_tile)
{
+ TIMEIT_START(pixel_nodes_tile_data);
reserve(count_nodes(pbvh, image_tile));
for (PBVHNode &node : MutableSpan(pbvh.nodes, pbvh.totnode)) {
@@ -183,6 +188,7 @@ class PixelNodesTileData : public Vector<std::reference_wrapper<UDIMTilePixels>>
append(tile_pixels);
}
}
+ TIMEIT_END(pixel_nodes_tile_data);
}
private:
@@ -623,9 +629,17 @@ void BKE_pbvh_pixels_copy_update(PBVH &pbvh,
CopyPixelTile copy_tile(image_tile.get_tile_number());
Rows rows(tile_resolution, image.seam_margin, nodes_tile_pixels);
+ TIMEIT_START(mark_for_eval);
rows.mark_for_evaluation(tile_edges);
+ TIMEIT_END(mark_for_eval);
+
+ TIMEIT_START(find_source);
rows.find_copy_source(tile_edges);
+ TIMEIT_END(find_source);
+
+ TIMEIT_START(pack);
rows.pack_into(copy_tile);
+ TIMEIT_END(pack);
copy_tile.print_compression_rate();
pbvh_data.tiles_copy_pixels.tiles.append(copy_tile);
}
More information about the Bf-blender-cvs
mailing list