1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-21 14:57:09 +00:00
Commit Graph

8793 Commits

Author SHA1 Message Date
Rémi Verschelde
96a5d62507 Merge pull request #104355 from YYF233333/hashmap_iter
Optimize `ClassDB::get_direct_inheriters_from_class`
2025-03-21 13:03:53 +01:00
Rémi Verschelde
1f682b6554 Merge pull request #104237 from Ivorforce/optimize-thread-pool-waiting
Optimize thread pools by avoiding needless locks and unlocks of the `task_mutex`.
2025-03-21 13:03:37 +01:00
Rémi Verschelde
3ceb84f5b2 Merge pull request #104155 from bleikerja/utf8_to_base64_empty_string_fix
Fix `Marshalls.utf8_to_base64` shows `"ret.is_empty()" is true` error for empty string
2025-03-21 13:03:28 +01:00
kobewi
602806101c Improve error messages for add_property_info() 2025-03-20 22:39:09 +01:00
Pāvels Nadtočajevs
abe413ff8c Fix icons with non-ASCII file names in project manager. 2025-03-20 16:33:01 +02:00
Lukas Tenbrink
143f8e933e Optimize Color::to_html by allocating less. 2025-03-20 13:42:03 +01:00
Thaddeus Crews
f6a35e2a6e Merge pull request #86015 from kitbdev/array-initializer-list
Add list initialization to Array, Variant, and TypedArray
2025-03-19 17:46:06 -05:00
aaronp64
3eb4e6c6ff Optimize Array methods with SWAP/std::move
Updated Array::shuffle() to use SWAP instead of copying through temporary variables, which makes shuffling simple types around 2x faster, and refcounted object types around 20x faster.

Also updated multiple methods that insert into/modify the array to move their validated Variant to avoid an extra copy, speed increase varies depending on type and how much else the methods are doing, usually around 5-10% faster.
2025-03-19 12:17:14 -04:00
Yufeng Ying
c37c92b450 Optimize ClassDB::get_direct_inheriters_from_class.
Co-authored-by: kleonc <9283098+kleonc@users.noreply.github.com>
2025-03-19 23:26:46 +08:00
kobewi
10f6c01b9c Remove ABS in favor of Math::abs 2025-03-19 13:52:40 +01:00
Rémi Verschelde
64bd03269f Merge pull request #104286 from Ivorforce/localvector-find
Harmonize `String`, `Vector` and `LocalVector` `find` and `rfind`.
2025-03-19 12:27:27 +01:00
Rémi Verschelde
2fa721b1bc Merge pull request #104127 from Ivorforce/360-noclip
Remove `String` clipping constructors.
2025-03-19 12:27:10 +01:00
Rémi Verschelde
65161977e9 Merge pull request #103415 from bruvzg/iv_pools
Use single RNG instance for `FileAccessEncrypted` IV generation.
2025-03-19 12:26:38 +01:00
Pablo Andres Fuente
e2bef7041e Fix StreamPeerGZIP::finish() internal buffer size usage
Fixes #97201

Instead of using and arbitrary fixed size for the internal buffer,
the remaining available bytes of the internal `RingBuffer` is used.

Also add unit tests for `StreamPeerGZIP`.
2025-03-19 09:56:32 +01:00
Thaddeus Crews
fdbf6ecc9f Merge pull request #98408 from rune-scape/stringlikevariantorder-in-place
StringLikeVariantOrder: Compare in-place
2025-03-18 14:42:58 -05:00
Thaddeus Crews
5c90aad2d9 Merge pull request #101964 from YYF233333/opt_for_size
Don't inline certain functions for smaller binary size
2025-03-18 14:42:37 -05:00
Thaddeus Crews
c8a94993bf Merge pull request #103961 from bruvzg/win_pos_sync
Sync `display/window/size/initial_position_type` and `Window::WINDOW_INITIAL_POSITION_` enum.
2025-03-18 14:42:33 -05:00
rune-scape
0c7d78f455 StringLikeVariantOrder: Compare in-place 2025-03-18 11:21:30 -07:00
Yyf2333
b28d6d1fa3 Don't inline certain functions for smaller binary size.
Co-authored-by: Thaddeus Crews <repiteo@outlook.com>
2025-03-18 21:40:25 +08:00
Lukas Tenbrink
fde71e0382 Harmonize String, Vector and LocalVector find and rfind.
Use `Span::find` for `LocalVector::find`, accepting negative `p_from`.
Return `-1` for invalid `p_from` values in `rfind`.
Accept negative values for `p_from` in `find`, starting from the back.
2025-03-18 12:37:36 +01:00
Thaddeus Crews
85258ec1a5 Merge pull request #102662 from groud/chunk_tilemap_physics
Chunk tilemap physics
2025-03-17 16:03:29 -05:00
Thaddeus Crews
1b631edf67 Merge pull request #104129 from dsnopek/gdextension-get-used-classes
GDExtension: Add mechanism to get which classes an extension is using
2025-03-17 16:03:27 -05:00
Thaddeus Crews
f98cddfc71 Merge pull request #101994 from fire/vsk-save-dds-4.4
Add DDS image load and save functionality
2025-03-17 16:03:26 -05:00
Thaddeus Crews
bb60b05ca4 Merge pull request #104182 from Ivorforce/small-little-string-function
Add missing `String + char *` function, to avoid unnecessary right side allocation to `String`.
2025-03-17 16:03:25 -05:00
Thaddeus Crews
06f0c6369e Merge pull request #104273 from Ivorforce/fabs-absf
Simplify and optimize `Math::absf` implementation to use `::fabs` and `::fabsf`.
2025-03-17 16:03:24 -05:00
Thaddeus Crews
5750d4feca Merge pull request #104183 from Repiteo/core/zero-constructible-expanded
Core: Expand `is_zero_constructible` coverage
2025-03-17 16:03:22 -05:00
David Snopek
2dff9fef37 GDExtension: Add mechanism to get which classes an extension is using 2025-03-17 15:27:14 -05:00
Thaddeus Crews
ea62170dac Core: Add constexpr constructors/operators to math structs
• Begin integrating `constexpr` on math tests; use `static_assert` where appropriate
2025-03-17 12:15:31 -05:00
Thaddeus Crews
4320800621 Core: Expand is_zero_constructible coverage 2025-03-17 11:45:26 -05:00
Lukas Tenbrink
8c14766597 Add missing String + char * function, to avoid unnecessary right side allocation to String. 2025-03-17 17:31:35 +01:00
Thaddeus Crews
b1d13c5173 Merge pull request #103932 from Ivorforce/span-algorithms-header
Move `CowData` `find`, `rfind` and `count` to `Span`
2025-03-17 10:52:18 -05:00
Thaddeus Crews
82f284d9fe Merge pull request #104187 from Ivorforce/file-access-compressed-memcpy
Optimize `FileAccessCompressed::get_buffer` by using `memcpy`.
2025-03-17 10:52:16 -05:00
Lukas Tenbrink
24c11dea16 Simplify and optimize absf implementation to use std::fabs. 2025-03-17 14:50:15 +01:00
Lukas Tenbrink
a9745aac5c Optimize reverb by removing stray volatile from the undenormalize function signature. 2025-03-16 15:50:50 +01:00
Lukas Tenbrink
9d30732c5b Optimize thread pools by avoiding needless locks and unlocks of the task_mutex. 2025-03-16 15:33:55 +01:00
Lukas Tenbrink
b67e213b16 Optimize FileAccessCompressed::get_buffer by using memcpy. 2025-03-16 12:22:06 +01:00
Zae
0013d30c92 Fix hash issue with OptimizedTranslation caused by signed char 2025-03-16 15:21:06 +08:00
Lukas Tenbrink
49e860159a Move CowData find, rfind and count to Span. 2025-03-16 03:31:11 +01:00
Lukas Tenbrink
b4f6663afa Recycle zstd decompression context if possible, avoiding repeated allocations. 2025-03-15 15:39:18 +01:00
Lukas Tenbrink
a23f630781 Remove String clipping constructors.
Callers should instead call constructors with explicit encoding names, with known length `Span`.
2025-03-15 12:34:44 +01:00
bleikerja
e6a8c4b43f Fix Marshalls.utf8_to_base64 shows 'ret.is_empty() is true' error for empty String 2025-03-15 10:31:24 +01:00
K. S. Ernest (iFire) Lee
69b281295c Add DDS image load and save functionality
Save and load DDS from Image class.

Co-authored-by: BlueCube3310 <53150244+BlueCube3310@users.noreply.github.com>
2025-03-14 19:31:43 -07:00
Thaddeus Crews
b377562b52 Merge pull request #91660 from AThousandShips/methodinfo_vec
[Core] Use `Vector` for `MethodInfo::arguments`
2025-03-14 10:06:13 -05:00
Thaddeus Crews
1700a84275 Merge pull request #104049 from Ivorforce/string-dedup-char32
De-duplicate `String` single-char constructor
2025-03-14 10:06:12 -05:00
Thaddeus Crews
cf4ebb63a0 Merge pull request #104109 from Ivorforce/resize-zeroed
Use `resize_zeroed` instead of `resize` then `fill(0)` in several places.
2025-03-14 10:06:10 -05:00
Thaddeus Crews
4292f2464c Merge pull request #104113 from aaronfranke/projection-construct
Add missing Projection constructor with 16 `real_t` values
2025-03-14 10:06:07 -05:00
Lukas Tenbrink
f4de2cd22a Use resize_zeroed instead of resize then fill(0) in several places. 2025-03-14 12:09:39 +01:00
Aaron Franke
ced61da848 Add missing Projection constructor with 16 real_t values 2025-03-14 02:57:19 -07:00
Lukas Tenbrink
6759d3b812 Fix "Unicode parsing error" spam when opening editor. 2025-03-14 08:32:26 +01:00
Rémi Verschelde
6ed10dee37 Merge pull request #104060 from bruvzg/resloader_ids
Fix `Invalid Task ID` errors in `ResourceLoader`.
2025-03-14 00:08:59 +01:00