Go to file
Germano Cavalcante 7aa31c884d Mesh: Merge by Distance: Remove unnecessary array
The `groups_map` array (which indicates the group an element belongs
to) is only intended to reduce loops when creating groups, speeding up
that part of the code.

But on the downside, it requires more memory usage, and adds one more
step to access groups (`groups_offs[groups_map[i]]` instead of just
`groups_offs[i]`).

So removing that array decreases memory usage and speeds up access in
another part of the code.

The profile showed a +6% advantage when the Weld modifier affects large
portions of the mesh.

But it also showed a loss of around -0.6% in performance for cases
where the Weld modifier affects small parts of the mesh.

The biggest benefit is to save memory and speed up some cases.
2023-07-11 00:40:08 -03:00
.gitea Gitea: update bug report template for security policy 2023-04-11 12:14:01 +02:00
.github Docs: change Git URLs to point projects.blender.org instead of git.blender.org 2023-02-07 14:23:05 +01:00
build_files CMake: use mark_as_advancd for most non WITH_* options 2023-07-10 12:02:15 +10:00
doc Cleanup: use set.discard instead of a __contains__ check before remove() 2023-07-02 19:54:27 +10:00
extern Cleanup: disable -Weverything for clang under extern/ 2023-07-05 13:20:53 +10:00
intern Cleanup: CMake: Modernize bf_blenlib dependencies 2023-07-10 22:04:18 +02:00
locale I18N: Updated UI translations from SVN trunk (r6625). 2023-07-10 14:47:45 +02:00
release Fix mistake in PyPI release instructions, improve console output 2023-07-03 17:00:34 +02:00
scripts Cleanup: make format 2023-07-10 15:52:10 +02:00
source Mesh: Merge by Distance: Remove unnecessary array 2023-07-11 00:40:08 -03:00
tests Cleanup: CMake: Modernize bf_guardedalloc dependencies 2023-07-10 18:44:19 +02:00
tools Fix gitea inactive script duplicated results 2023-07-10 17:00:58 +02:00
.clang-format clang-format: set BraceWrapping::AfterControlStatement to "MultiLine" 2023-05-02 09:37:08 +10:00
.clang-tidy Clang-tidy: Ignore variable name length and .c/.cc include warnings 2022-05-06 15:26:54 +02:00
.editorconfig pyproject: add configuration for autopep8 2022-04-22 10:13:39 +10:00
.git-blame-ignore-revs Cleanup: add commit to .git-blame-ignore-revs 2023-05-03 20:31:11 +10:00
.gitignore Ignore build files for VS and VS Code 2023-03-07 17:38:34 +01:00
CMakeLists.txt CMake: use mark_as_advancd for most non WITH_* options 2023-07-10 12:02:15 +10:00
COPYING == docs == 2010-10-13 14:44:22 +00:00
GNUmakefile License headers: use SPDX-FileCopyrightText in all sources 2023-06-15 13:35:34 +10:00
make.bat make.bat: adjust for recent submodule changes 2023-03-16 17:51:12 -06:00
pyproject.toml pyproject: remove tools/pyproject.toml 2023-03-01 22:18:28 +11:00
README.md Update references to the new projects platform and main branch 2023-02-07 14:18:19 +01:00

Blender

Blender is the free and open source 3D creation suite. It supports the entirety of the 3D pipeline-modeling, rigging, animation, simulation, rendering, compositing, motion tracking and video editing.

Blender screenshot

Project Pages

Development

License

Blender as a whole is licensed under the GNU General Public License, Version 3. Individual files may have a different, but compatible license.

See blender.org/about/license for details.