[Bf-blender-cvs] [83b103fd2f7] master: Geometry Nodes: use static instead of dynamic cast
Jacques Lucke
noreply at git.blender.org
Thu Dec 29 21:14:00 CET 2022
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;
}
More information about the Bf-blender-cvs
mailing list