You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-05 12:10:55 +00:00
Memory cleanup and optimizations
- Returns an empty list when there's not registered plugins, thus preventing the creation of spurious iterator objects - Inline `Godot#getRotatedValues(...)` given it only had a single caller. This allows to remove the allocation of a float array on each call and replace it with float variables - Disable sensor events by default. Sensor events can fired at 10-100s Hz taking cpu and memory resources. Now the use of sensor data is behind a project setting allowing projects that have use of it to enable it, while other projects don't pay the cost for a feature they don't use - Create a pool of specialized input `Runnable` objects to prevent spurious, unbounded `Runnable` allocations - Disable showing the boot logo for Android XR projects - Delete locale references of jni strings
This commit is contained in:
@@ -513,21 +513,49 @@ void Input::joy_connection_changed(int p_idx, bool p_connected, const String &p_
|
||||
|
||||
Vector3 Input::get_gravity() const {
|
||||
_THREAD_SAFE_METHOD_
|
||||
|
||||
#ifdef DEBUG_ENABLED
|
||||
if (!gravity_enabled) {
|
||||
WARN_PRINT_ONCE("`input_devices/sensors/enable_gravity` is not enabled in project settings.");
|
||||
}
|
||||
#endif
|
||||
|
||||
return gravity;
|
||||
}
|
||||
|
||||
Vector3 Input::get_accelerometer() const {
|
||||
_THREAD_SAFE_METHOD_
|
||||
|
||||
#ifdef DEBUG_ENABLED
|
||||
if (!accelerometer_enabled) {
|
||||
WARN_PRINT_ONCE("`input_devices/sensors/enable_accelerometer` is not enabled in project settings.");
|
||||
}
|
||||
#endif
|
||||
|
||||
return accelerometer;
|
||||
}
|
||||
|
||||
Vector3 Input::get_magnetometer() const {
|
||||
_THREAD_SAFE_METHOD_
|
||||
|
||||
#ifdef DEBUG_ENABLED
|
||||
if (!magnetometer_enabled) {
|
||||
WARN_PRINT_ONCE("`input_devices/sensors/enable_magnetometer` is not enabled in project settings.");
|
||||
}
|
||||
#endif
|
||||
|
||||
return magnetometer;
|
||||
}
|
||||
|
||||
Vector3 Input::get_gyroscope() const {
|
||||
_THREAD_SAFE_METHOD_
|
||||
|
||||
#ifdef DEBUG_ENABLED
|
||||
if (!gyroscope_enabled) {
|
||||
WARN_PRINT_ONCE("`input_devices/sensors/enable_gyroscope` is not enabled in project settings.");
|
||||
}
|
||||
#endif
|
||||
|
||||
return gyroscope;
|
||||
}
|
||||
|
||||
@@ -1683,6 +1711,11 @@ Input::Input() {
|
||||
// Always use standard behavior in the editor.
|
||||
legacy_just_pressed_behavior = false;
|
||||
}
|
||||
|
||||
accelerometer_enabled = GLOBAL_DEF_RST_BASIC("input_devices/sensors/enable_accelerometer", false);
|
||||
gravity_enabled = GLOBAL_DEF_RST_BASIC("input_devices/sensors/enable_gravity", false);
|
||||
gyroscope_enabled = GLOBAL_DEF_RST_BASIC("input_devices/sensors/enable_gyroscope", false);
|
||||
magnetometer_enabled = GLOBAL_DEF_RST_BASIC("input_devices/sensors/enable_magnetometer", false);
|
||||
}
|
||||
|
||||
Input::~Input() {
|
||||
|
||||
Reference in New Issue
Block a user