Skip to content

Binary bloat discussion #1627

Open
Open
@jordo

Description

@jordo

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 #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

Metadata

Metadata

Assignees

No one assigned

    Labels

    discussionenhancementThis is an enhancement on the current functionality

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions