godot-cpp icon indicating copy to clipboard operation
godot-cpp copied to clipboard

Binary bloat discussion

Open jordo opened this issue 1 year ago • 12 comments

Godot version

4.4-dev

godot-cpp version

4.4-dev

System information

wasm in particular

Issue description

This is intended to primarily be a tracking issue looking at ways to reduce the binary size of these extension libraries. Intended to be an open discussion to followup on https://github.com/godotengine/godot-cpp/pull/1621

Steps to reproduce

Compiling the simplest of extensions, a single file single including a single header results in a 2MB library (Reviewer EDIT: macos universal library, i.e. 1MB for each architecture). Example:

#include <godot_cpp/classes/node3d.hpp>
class Example : public Node3D {
	GDCLASS(Example, Node3D);
	
	protected:
	Vector2 position2;
	static void _bind_methods() {
		ClassDB::bind_method(D_METHOD("test_position"), &Example::test_position);
	};

	Vector2 test_position() const {
		return position2;
	};

	Example() { };
	virtual ~Example() {};
};

Minimal reproduction project

N/A

jordo avatar Oct 16 '24 22:10 jordo