1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-04 12:00:25 +00:00

Improve GDScript Editor and Improve latency

Improvements:
- GDScript Highlighter is faster by 25% as keys are smaller (hashes instead of strings)
- Removes message queue from _apply_settings_change to allow resize to work correctly
- Some performance fixes are pending still

Note: this resolves the code editor behaving badly when resizing in debug builds
This commit is contained in:
Gordon MacPherson
2021-08-14 07:42:18 +01:00
committed by Rémi Verschelde
parent 91960b7b81
commit 1881b3adc5
4 changed files with 7 additions and 16 deletions

View File

@@ -467,7 +467,7 @@ void GDScriptSyntaxHighlighter::_update_cache() {
List<StringName> global_classes;
ScriptServer::get_global_class_list(&global_classes);
for (const StringName &E : global_classes) {
keywords[String(E)] = usertype_color;
keywords[E] = usertype_color;
}
/* Autoloads. */
@@ -486,7 +486,7 @@ void GDScriptSyntaxHighlighter::_update_cache() {
List<String> core_types;
gdscript->get_core_type_words(&core_types);
for (const String &E : core_types) {
keywords[E] = basetype_color;
keywords[StringName(E)] = basetype_color;
}
/* Reserved words. */
@@ -496,9 +496,9 @@ void GDScriptSyntaxHighlighter::_update_cache() {
gdscript->get_reserved_words(&keyword_list);
for (const String &E : keyword_list) {
if (gdscript->is_control_flow_keyword(E)) {
keywords[E] = control_flow_keyword_color;
keywords[StringName(E)] = control_flow_keyword_color;
} else {
keywords[E] = keyword_color;
keywords[StringName(E)] = keyword_color;
}
}