Commit: 83b103fd2f789f1c52a7e9ab7b19368dd784f1e5
Author: Jacques Lucke
Date:   Thu Dec 29 21:13:52 2022 +0100
Branches: master
https://developer.blender.org/rB83b103fd2f789f1c52a7e9ab7b19368dd784f1e5

Geometry Nodes: use static instead of dynamic cast

In my (fairly extreme) test file this results in a 6% speedup.
The assumption that the dynamic cast would succeed was in place
before already.

===================================================================

M       source/blender/nodes/intern/geometry_nodes_lazy_function.cc

===================================================================

diff --git a/source/blender/nodes/intern/geometry_nodes_lazy_function.cc 
b/source/blender/nodes/intern/geometry_nodes_lazy_function.cc
index c18c90fed82..454fe4da23b 100644
--- a/source/blender/nodes/intern/geometry_nodes_lazy_function.cc
+++ b/source/blender/nodes/intern/geometry_nodes_lazy_function.cc
@@ -1324,8 +1324,9 @@ void GeometryNodesLazyFunctionLogger::log_socket_value(
     const GPointer value,
     const fn::lazy_function::Context &context) const
 {
-  GeoNodesLFUserData *user_data = dynamic_cast<GeoNodesLFUserData 
*>(context.user_data);
-  BLI_assert(user_data != nullptr);
+  /* In this context we expect only a single kind of user data, so use 
`static_cast`. */
+  GeoNodesLFUserData *user_data = static_cast<GeoNodesLFUserData 
*>(context.user_data);
+  BLI_assert(dynamic_cast<GeoNodesLFUserData *>(context.user_data) != nullptr);
   if (!user_data->log_socket_values) {
     return;
   }

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
List details, subscription details or unsubscribe:
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to