Merge pull request #96875 from stuartcarnie/sgc/small_optimisations

[Editor, Servers] Minor optimizations
This commit is contained in:
Rémi Verschelde 2024-09-12 09:25:53 +02:00
commit 573badf150
No known key found for this signature in database
GPG Key ID: C3336907360768E1
5 changed files with 18 additions and 19 deletions

View File

@ -2246,7 +2246,7 @@ void EditorInspectorArray::_setup() {
} }
move_vbox->add_child(ae.move_texture_rect); move_vbox->add_child(ae.move_texture_rect);
if (element_position < _get_array_count() - 1) { if (element_position < count - 1) {
ae.move_down = memnew(Button); ae.move_down = memnew(Button);
ae.move_down->set_icon(get_editor_theme_icon(SNAME("MoveDown"))); ae.move_down->set_icon(get_editor_theme_icon(SNAME("MoveDown")));
ae.move_down->connect(SceneStringName(pressed), callable_mp(this, &EditorInspectorArray::_move_element).bind(element_position, element_position + 2)); ae.move_down->connect(SceneStringName(pressed), callable_mp(this, &EditorInspectorArray::_move_element).bind(element_position, element_position + 2));

View File

@ -1487,7 +1487,7 @@ void AudioServer::init() {
void AudioServer::update() { void AudioServer::update() {
#ifdef DEBUG_ENABLED #ifdef DEBUG_ENABLED
if (EngineDebugger::is_profiling("servers")) { if (EngineDebugger::is_profiling(SNAME("servers"))) {
// Driver time includes server time + effects times // Driver time includes server time + effects times
// Server time includes effects times // Server time includes effects times
uint64_t driver_time = AudioDriver::get_singleton()->get_profiling_time(); uint64_t driver_time = AudioDriver::get_singleton()->get_profiling_time();

View File

@ -818,8 +818,9 @@ void RendererViewport::draw_viewports(bool p_swap_buffers) {
blit.dst_rect.size = vp->size; blit.dst_rect.size = vp->size;
} }
if (!blit_to_screen_list.has(vp->viewport_to_screen)) { Vector<BlitToScreen> *blits = blit_to_screen_list.getptr(vp->viewport_to_screen);
blit_to_screen_list[vp->viewport_to_screen] = Vector<BlitToScreen>(); if (blits == nullptr) {
blits = &blit_to_screen_list.insert(vp->viewport_to_screen, Vector<BlitToScreen>())->value;
} }
if (OS::get_singleton()->get_current_rendering_driver_name().begins_with("opengl3")) { if (OS::get_singleton()->get_current_rendering_driver_name().begins_with("opengl3")) {
@ -828,7 +829,7 @@ void RendererViewport::draw_viewports(bool p_swap_buffers) {
RSG::rasterizer->blit_render_targets_to_screen(vp->viewport_to_screen, blit_to_screen_vec.ptr(), 1); RSG::rasterizer->blit_render_targets_to_screen(vp->viewport_to_screen, blit_to_screen_vec.ptr(), 1);
RSG::rasterizer->gl_end_frame(p_swap_buffers); RSG::rasterizer->gl_end_frame(p_swap_buffers);
} else { } else {
blit_to_screen_list[vp->viewport_to_screen].push_back(blit); blits->push_back(blit);
} }
} }
} }

View File

@ -138,17 +138,17 @@ RenderingDevice::ShaderSPIRVGetCacheKeyFunction RenderingDevice::get_spirv_cache
/***************************/ /***************************/
void RenderingDevice::_add_dependency(RID p_id, RID p_depends_on) { void RenderingDevice::_add_dependency(RID p_id, RID p_depends_on) {
if (!dependency_map.has(p_depends_on)) { HashSet<RID> *set = dependency_map.getptr(p_depends_on);
dependency_map[p_depends_on] = HashSet<RID>(); if (set == nullptr) {
set = &dependency_map.insert(p_depends_on, HashSet<RID>())->value;
} }
set->insert(p_id);
dependency_map[p_depends_on].insert(p_id); set = reverse_dependency_map.getptr(p_id);
if (set == nullptr) {
if (!reverse_dependency_map.has(p_id)) { set = &reverse_dependency_map.insert(p_id, HashSet<RID>())->value;
reverse_dependency_map[p_id] = HashSet<RID>();
} }
set->insert(p_depends_on);
reverse_dependency_map[p_id].insert(p_depends_on);
} }
void RenderingDevice::_free_dependencies(RID p_id) { void RenderingDevice::_free_dependencies(RID p_id) {

View File

@ -150,14 +150,12 @@ void RenderingServerDefault::_draw(bool p_swap_buffers, double frame_step) {
double time = frame_profile[i + 1].gpu_msec - frame_profile[i].gpu_msec; double time = frame_profile[i + 1].gpu_msec - frame_profile[i].gpu_msec;
if (name[0] != '<' && name[0] != '>') {
if (print_gpu_profile_task_time.has(name)) { if (print_gpu_profile_task_time.has(name)) {
print_gpu_profile_task_time[name] += time; print_gpu_profile_task_time[name] += time;
} else { } else {
print_gpu_profile_task_time[name] = time; print_gpu_profile_task_time[name] = time;
} }
} }
}
if (frame_profile.size()) { if (frame_profile.size()) {
total_time = frame_profile[frame_profile.size() - 1].gpu_msec; total_time = frame_profile[frame_profile.size() - 1].gpu_msec;