diff --git a/flamegraph.svg b/flamegraph.svg deleted file mode 100644 index 99b0db2..0000000 --- a/flamegraph.svg +++ /dev/null @@ -1,491 +0,0 @@ -Flame Graph Reset ZoomSearch ZSTD_compress (1 samples, 0.37%)ZSTD_compressCCtx (1 samples, 0.37%)ZSTD_compressEnd_public (1 samples, 0.37%)[libzstd.so.1.5.7] (1 samples, 0.37%)[libzstd.so.1.5.7] (1 samples, 0.37%)[libzstd.so.1.5.7] (1 samples, 0.37%)ZSTD_compressBlock_doubleFast (1 samples, 0.37%)iris:disk$0 (2 samples, 0.73%)[libc.so.6] (2 samples, 0.73%)[libc.so.6] (2 samples, 0.73%)[libvulkan_intel.so] (2 samples, 0.73%)[libvulkan_intel.so] (2 samples, 0.73%)[libvulkan_intel.so] (2 samples, 0.73%)[libvulkan_intel.so] (2 samples, 0.73%)[libvulkan_intel.so] (2 samples, 0.73%)[libvulkan_intel.so] (2 samples, 0.73%)[libvulkan_intel.so] (1 samples, 0.37%)[libvulkan_intel.so] (1 samples, 0.37%)<C as wgpu_hal::dynamic::command::DynCommandEncoder>::copy_buffer_to_buffer (1 samples, 0.37%)[libvulkan_intel.so] (1 samples, 0.37%)[libvulkan_intel.so] (1 samples, 0.37%)[libvulkan_intel.so] (1 samples, 0.37%)[libvulkan_intel.so] (1 samples, 0.37%)[libvulkan_intel.so] (1 samples, 0.37%)[libvulkan_intel.so] (1 samples, 0.37%)[libvulkan_intel.so] (1 samples, 0.37%)[libvulkan_intel.so] (1 samples, 0.37%)<D as wgpu_hal::dynamic::device::DynDevice>::create_render_pipeline (3 samples, 1.10%)wgpu_hal::vulkan::device::<impl wgpu_hal::Device for wgpu_hal::vulkan::Device>::create_render_pipeline (3 samples, 1.10%)[libvulkan_intel.so] (3 samples, 1.10%)[libvulkan_intel.so] (3 samples, 1.10%)[libvulkan_intel.so] (3 samples, 1.10%)[libvulkan_intel.so] (3 samples, 1.10%)[libvulkan_intel.so] (3 samples, 1.10%)[libvulkan_intel.so] (3 samples, 1.10%)[libvulkan_intel.so] (2 samples, 0.73%)<alloc::vec::Vec<T,A> as core::clone::Clone>::clone (1 samples, 0.37%)<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::try_fold (1 samples, 0.37%)alloc::fmt::format::format_inner (1 samples, 0.37%)[unknown] (1 samples, 0.37%)core::fmt::write (1 samples, 0.37%)<iris::core::sense::CursorModule<Ctx> as iris::layout::event::EventModule<E,Ctx>>::register (1 samples, 0.37%)hashbrown::raw::RawTable<T,A>::reserve_rehash (1 samples, 0.37%)malloc (1 samples, 0.37%)[libc.so.6] (1 samples, 0.37%)[libvulkan.so.1.4.328] (1 samples, 0.37%)[libvulkan.so.1.4.328] (1 samples, 0.37%)[libc.so.6] (1 samples, 0.37%)[libc.so.6] (1 samples, 0.37%)[libvulkan.so.1.4.328] (8 samples, 2.93%)[l..[libvulkan.so.1.4.328] (8 samples, 2.93%)[l..dlopen (7 samples, 2.56%)dl..[libc.so.6] (7 samples, 2.56%)[l..[ld-linux-x86-64.so.2] (7 samples, 2.56%)[l.._dl_catch_exception (7 samples, 2.56%)_d..[libc.so.6] (7 samples, 2.56%)[l..[ld-linux-x86-64.so.2] (7 samples, 2.56%)[l.._dl_catch_exception (7 samples, 2.56%)_d..[ld-linux-x86-64.so.2] (7 samples, 2.56%)[l.._dl_catch_exception (7 samples, 2.56%)_d..[ld-linux-x86-64.so.2] (7 samples, 2.56%)[l..[ld-linux-x86-64.so.2] (7 samples, 2.56%)[l..[ld-linux-x86-64.so.2] (7 samples, 2.56%)[l..[ld-linux-x86-64.so.2] (7 samples, 2.56%)[l..[ld-linux-x86-64.so.2] (4 samples, 1.47%)[ld-linux-x86-64.so.2] (1 samples, 0.37%)[libc.so.6] (1 samples, 0.37%)[libc.so.6] (1 samples, 0.37%)[libvulkan_intel.so] (14 samples, 5.13%)[libvu..[libvulkan_intel.so] (8 samples, 2.93%)[l..[libvulkan_intel.so] (5 samples, 1.83%)[..[libvulkan_intel.so] (5 samples, 1.83%)[..[libvulkan_intel.so] (5 samples, 1.83%)[..[libvulkan_intel.so] (5 samples, 1.83%)[..[libvulkan_intel.so] (4 samples, 1.47%)[libvulkan_intel.so] (3 samples, 1.10%)[libvulkan_intel.so] (3 samples, 1.10%)[libvulkan_intel.so] (2 samples, 0.73%)[libvulkan_intel.so] (1 samples, 0.37%)[libzstd.so.1.5.7] (1 samples, 0.37%)<alloc::vec::into_iter::IntoIter<T,A> as core::ops::drop::Drop>::drop (1 samples, 0.37%)<ttf_parser::tables::name::NamesIter as core::iter::traits::iterator::Iterator>::next (1 samples, 0.37%)[libc.so.6] (1 samples, 0.37%)[libvulkan_intel.so] (1 samples, 0.37%)__rustc::__rust_realloc (1 samples, 0.37%)fontdb::Database::make_shared_face_data (1 samples, 0.37%)std::fs::OpenOptions::_open (1 samples, 0.37%)std::sys::fs::unix::File::open_c (1 samples, 0.37%)naga::front::wgsl::Frontend::parse (1 samples, 0.37%)naga::front::wgsl::lower::Lowerer::lower (1 samples, 0.37%)[libc.so.6] (1 samples, 0.37%)naga::front::wgsl::lower::ExpressionContext::append_expression (1 samples, 0.37%)naga::front::wgsl::parse::lexer::consume_token (1 samples, 0.37%)read_fonts::tables::glyf::bytecode::decode::Decoder::decode (1 samples, 0.37%)roxmltree::parse::parse (1 samples, 0.37%)[libc.so.6] (1 samples, 0.37%)[libc.so.6] (1 samples, 0.37%)roxmltree::tokenizer::parse_comment (1 samples, 0.37%)skrifa::outline::glyf::hint::value_stack::ValueStack::push_inline_operands (1 samples, 0.37%)wgpu_core::track::texture::DeviceTextureTracker::set_from_tracker_and_drain_transitions (1 samples, 0.37%)wgpu_hal::vulkan::device::<impl wgpu_hal::Device for wgpu_hal::vulkan::Device>::create_compute_pipeline (10 samples, 3.66%)wgpu..[libvulkan_intel.so] (10 samples, 3.66%)[lib..[libvulkan_intel.so] (10 samples, 3.66%)[lib..[libvulkan_intel.so] (10 samples, 3.66%)[lib..[libvulkan_intel.so] (10 samples, 3.66%)[lib..[libvulkan_intel.so] (10 samples, 3.66%)[lib..[libvulkan_intel.so] (7 samples, 2.56%)[l..[libvulkan_intel.so] (5 samples, 1.83%)[..[libvulkan_intel.so] (5 samples, 1.83%)[..[libvulkan_intel.so] (3 samples, 1.10%)[libvulkan_intel.so] (2 samples, 0.73%)[libvulkan_intel.so] (1 samples, 0.37%)[libvulkan_intel.so] (1 samples, 0.37%)[libxkbcommon.so.0.12.3] (3 samples, 1.10%)[unknown] (117 samples, 42.86%)[unknown]winit::platform_impl::linux::common::xkb::compose::XkbComposeTable::new (8 samples, 2.93%)wi..xkb_compose_table_new_from_locale (8 samples, 2.93%)xk..[libxkbcommon.so.0.12.3] (8 samples, 2.93%)[l..[libxkbcommon.so.0.12.3] (8 samples, 2.93%)[l..[libxkbcommon.so.0.12.3] (7 samples, 2.56%)[l..xkb_keysym_from_name (3 samples, 1.10%)[libxkbcommon.so.0.12.3] (2 samples, 0.73%)_start (1 samples, 0.37%)__libc_start_main (1 samples, 0.37%)[libc.so.6] (1 samples, 0.37%)main (1 samples, 0.37%)[unknown] (1 samples, 0.37%)core::ptr::drop_in_place<iris::layout::text::TextData> (1 samples, 0.37%)[libc.so.6] (1 samples, 0.37%)[libvulkan_intel.so] (3 samples, 1.10%)[libc.so.6] (1 samples, 0.37%)[libc.so.6] (1 samples, 0.37%)alloc::sync::Arc<T,A>::drop_slow (4 samples, 1.47%)vkDestroyDevice (4 samples, 1.47%)[libvulkan.so.1.4.328] (4 samples, 1.47%)[libvulkan_intel.so] (4 samples, 1.47%)[libvulkan_intel.so] (4 samples, 1.47%)cfree (1 samples, 0.37%)anon.9f23d8cf46690d57620ab1dce412144b.148.llvm.5883687114920204857 (1 samples, 0.37%)wgpu_hal::vulkan::adapter::<impl wgpu_hal::Adapter for wgpu_hal::vulkan::Adapter>::surface_capabilities (1 samples, 0.37%)ash::prelude::read_into_uninitialized_vector (1 samples, 0.37%)[libvulkan_intel.so] (1 samples, 0.37%)[libvulkan_intel.so] (1 samples, 0.37%)wl_display_roundtrip_queue (1 samples, 0.37%)wl_display_dispatch_queue (1 samples, 0.37%)wl_display_dispatch_queue_timeout (1 samples, 0.37%)wl_display_dispatch_queue_pending (1 samples, 0.37%)[libwayland-client.so.0.24.0] (1 samples, 0.37%)[libwayland-client.so.0.24.0] (1 samples, 0.37%)[libffi.so.8.2.0] (1 samples, 0.37%)[libffi.so.8.2.0] (1 samples, 0.37%)[libvulkan_intel.so] (1 samples, 0.37%)[libvulkan_intel.so] (1 samples, 0.37%)wl_display_roundtrip_queue (1 samples, 0.37%)wl_display_dispatch_queue (1 samples, 0.37%)wl_display_dispatch_queue_timeout (1 samples, 0.37%)wl_display_dispatch_queue_pending (1 samples, 0.37%)[libwayland-client.so.0.24.0] (1 samples, 0.37%)[libwayland-client.so.0.24.0] (1 samples, 0.37%)ffi_call (1 samples, 0.37%)[libffi.so.8.2.0] (1 samples, 0.37%)[libffi.so.8.2.0] (1 samples, 0.37%)[libvulkan_intel.so] (1 samples, 0.37%)wl_proxy_marshal_flags (1 samples, 0.37%)wl_proxy_marshal_array_flags (1 samples, 0.37%)[libVkLayer_MESA_device_select.so] (1 samples, 0.37%)[libvulkan.so.1.4.328] (1 samples, 0.37%)[libvulkan.so.1.4.328] (1 samples, 0.37%)[libvulkan_intel.so] (1 samples, 0.37%)[libvulkan_intel.so] (1 samples, 0.37%)[libvulkan_intel.so] (1 samples, 0.37%)[libvulkan_intel.so] (1 samples, 0.37%)[libvulkan_intel.so] (1 samples, 0.37%)[libvulkan_intel.so] (1 samples, 0.37%)[libvulkan_intel.so] (1 samples, 0.37%)ash::prelude::read_into_uninitialized_vector (3 samples, 1.10%)vkEnumeratePhysicalDevices (2 samples, 0.73%)[libvulkan_intel_hasvk.so] (1 samples, 0.37%)[libvulkan_intel_hasvk.so] (1 samples, 0.37%)[libc.so.6] (1 samples, 0.37%)core::iter::traits::iterator::Iterator::partition (1 samples, 0.37%)core::ffi::c_str::CStr::from_bytes_until_nul (1 samples, 0.37%)core::ptr::drop_in_place<iris::render::texture::GpuTextures> (1 samples, 0.37%)<wgpu_hal::vulkan::CommandEncoder as core::ops::drop::Drop>::drop (1 samples, 0.37%)[libvulkan_intel.so] (1 samples, 0.37%)[libvulkan_intel.so] (1 samples, 0.37%)[libvulkan_intel.so] (1 samples, 0.37%)[libvulkan_intel.so] (1 samples, 0.37%)[libvulkan_intel.so] (1 samples, 0.37%)[libc.so.6] (1 samples, 0.37%)[libc.so.6] (1 samples, 0.37%)[libc.so.6] (1 samples, 0.37%)hashbrown::map::HashMap<K,V,S,A>::insert (1 samples, 0.37%)hashbrown::raw::RawTable<T,A>::reserve_rehash (1 samples, 0.37%)[libc.so.6] (1 samples, 0.37%)[libc.so.6] (1 samples, 0.37%)libloading::os::unix::Library::get_impl (1 samples, 0.37%)dlsym (1 samples, 0.37%)naga::front::wgsl::parse::lexer::consume_token (1 samples, 0.37%)naga::front::wgsl::parse::Parser::unary_expression::{{closure}} (1 samples, 0.37%)naga::front::wgsl::parse::Parser::primary_expression (1 samples, 0.37%)skrifa::outline::glyf::hint::engine::dispatch::<impl skrifa::outline::glyf::hint::engine::Engine>::run (3 samples, 1.10%)ttf_parser::tables::name::Table::parse (1 samples, 0.37%)[libvulkan_intel.so] (2 samples, 0.73%)[libvulkan_intel.so] (2 samples, 0.73%)[libvulkan_intel.so] (2 samples, 0.73%)[libvulkan_intel.so] (2 samples, 0.73%)XML_ParseBuffer (2 samples, 0.73%)[libexpat.so.1.11.1] (2 samples, 0.73%)[libVkLayer_MESA_device_select.so] (4 samples, 1.47%)[libvulkan.so.1.4.328] (4 samples, 1.47%)[libvulkan_intel_hasvk.so] (2 samples, 0.73%)[libvulkan_intel_hasvk.so] (2 samples, 0.73%)[libvulkan_intel_hasvk.so] (2 samples, 0.73%)[libvulkan_intel_hasvk.so] (2 samples, 0.73%)XML_ParseBuffer (2 samples, 0.73%)[libexpat.so.1.11.1] (2 samples, 0.73%)[libexpat.so.1.11.1] (2 samples, 0.73%)[libexpat.so.1.11.1] (2 samples, 0.73%)[libexpat.so.1.11.1] (2 samples, 0.73%)[libexpat.so.1.11.1] (1 samples, 0.37%)[libexpat.so.1.11.1] (1 samples, 0.37%)[libexpat.so.1.11.1] (1 samples, 0.37%)[libexpat.so.1.11.1] (1 samples, 0.37%)vkCreateInstance (5 samples, 1.83%)v..[libvulkan.so.1.4.328] (5 samples, 1.83%)[..[libvulkan.so.1.4.328] (1 samples, 0.37%)[libvulkan.so.1.4.328] (1 samples, 0.37%)[libc.so.6] (1 samples, 0.37%)[libc.so.6] (1 samples, 0.37%)[libc.so.6] (1 samples, 0.37%)[libc.so.6] (1 samples, 0.37%)[libc.so.6] (1 samples, 0.37%)[libc.so.6] (1 samples, 0.37%)vkEnumerateInstanceExtensionProperties (3 samples, 1.10%)[libvulkan.so.1.4.328] (3 samples, 1.10%)[libvulkan.so.1.4.328] (3 samples, 1.10%)[libvulkan.so.1.4.328] (2 samples, 0.73%)[libvulkan.so.1.4.328] (2 samples, 0.73%)[libvulkan.so.1.4.328] (2 samples, 0.73%)[libvulkan.so.1.4.328] (2 samples, 0.73%)[libvulkan.so.1.4.328] (2 samples, 0.73%)[libvulkan.so.1.4.328] (1 samples, 0.37%)[libvulkan.so.1.4.328] (1 samples, 0.37%)[libvulkan.so.1.4.328] (1 samples, 0.37%)[libvulkan.so.1.4.328] (1 samples, 0.37%)[libvulkan.so.1.4.328] (1 samples, 0.37%)[libvulkan.so.1.4.328] (1 samples, 0.37%)[libvulkan.so.1.4.328] (1 samples, 0.37%)[libvulkan.so.1.4.328] (1 samples, 0.37%)[libc.so.6] (1 samples, 0.37%)[libc.so.6] (1 samples, 0.37%)[libvulkan.so.1.4.328] (2 samples, 0.73%)[libvulkan.so.1.4.328] (2 samples, 0.73%)[libvulkan.so.1.4.328] (2 samples, 0.73%)[libvulkan.so.1.4.328] (2 samples, 0.73%)[libvulkan.so.1.4.328] (2 samples, 0.73%)[libvulkan.so.1.4.328] (2 samples, 0.73%)[libvulkan.so.1.4.328] (2 samples, 0.73%)[libvulkan.so.1.4.328] (2 samples, 0.73%)[libvulkan.so.1.4.328] (2 samples, 0.73%)[libvulkan.so.1.4.328] (1 samples, 0.37%)[libvulkan.so.1.4.328] (1 samples, 0.37%)[libvulkan.so.1.4.328] (1 samples, 0.37%)[libvulkan.so.1.4.328] (1 samples, 0.37%)[libc.so.6] (1 samples, 0.37%)[libc.so.6] (1 samples, 0.37%)vkEnumerateInstanceLayerProperties (3 samples, 1.10%)[libvulkan.so.1.4.328] (3 samples, 1.10%)[libvulkan.so.1.4.328] (3 samples, 1.10%)[libvulkan.so.1.4.328] (3 samples, 1.10%)getenv (1 samples, 0.37%)wayland_backend::sys::client_impl::InnerReadEventsGuard::read_non_dispatch (1 samples, 0.37%)wl_display_read_events (1 samples, 0.37%)wayland_backend::sys::client_impl::dispatcher_func (1 samples, 0.37%)[libvulkan_intel.so] (1 samples, 0.37%)[libvulkan_intel.so] (1 samples, 0.37%)[libvulkan_intel.so] (1 samples, 0.37%)wl_display_roundtrip_queue (1 samples, 0.37%)wl_display_dispatch_queue (1 samples, 0.37%)wl_display_dispatch_queue_timeout (1 samples, 0.37%)wl_display_dispatch_queue_pending (1 samples, 0.37%)[libwayland-client.so.0.24.0] (1 samples, 0.37%)[libwayland-client.so.0.24.0] (1 samples, 0.37%)[libffi.so.8.2.0] (1 samples, 0.37%)wl_display_dispatch_queue_pending (1 samples, 0.37%)[libwayland-client.so.0.24.0] (1 samples, 0.37%)[libwayland-client.so.0.24.0] (1 samples, 0.37%)wl_display_roundtrip_queue (2 samples, 0.73%)wl_display_dispatch_queue (2 samples, 0.73%)wl_display_dispatch_queue_timeout (2 samples, 0.73%)wl_display_read_events (1 samples, 0.37%)[libc.so.6] (1 samples, 0.37%)wgpu_hal::vulkan::adapter::<impl wgpu_hal::Adapter for wgpu_hal::vulkan::Adapter>::surface_capabilities (4 samples, 1.47%)ash::prelude::read_into_uninitialized_vector (3 samples, 1.10%)[libvulkan_intel.so] (3 samples, 1.10%)[libvulkan_intel.so] (3 samples, 1.10%)wl_proxy_marshal_flags (1 samples, 0.37%)wl_proxy_marshal_array_flags (1 samples, 0.37%)[libc.so.6] (1 samples, 0.37%)[libc.so.6] (1 samples, 0.37%)ZSTD_decompress (2 samples, 0.73%)ZSTD_decompress_usingDDict (2 samples, 0.73%)[libzstd.so.1.5.7] (2 samples, 0.73%)ZSTD_decompressBlock_internal (2 samples, 0.73%)[libzstd.so.1.5.7] (2 samples, 0.73%)[libc.so.6] (1 samples, 0.37%)[libc.so.6] (1 samples, 0.37%)[libc.so.6] (1 samples, 0.37%)wgpu_hal::vulkan::adapter::<impl wgpu_hal::vulkan::Adapter>::open_with_callback (15 samples, 5.49%)wgpu_ha..vkCreateDevice (15 samples, 5.49%)vkCreat..[libvulkan.so.1.4.328] (15 samples, 5.49%)[libvul..[libvulkan.so.1.4.328] (15 samples, 5.49%)[libvul..[libvulkan.so.1.4.328] (15 samples, 5.49%)[libvul..[libvulkan_intel.so] (14 samples, 5.13%)[libvu..[libvulkan_intel.so] (14 samples, 5.13%)[libvu..[libvulkan_intel.so] (14 samples, 5.13%)[libvu..[libvulkan_intel.so] (13 samples, 4.76%)[libvu..[libvulkan_intel.so] (13 samples, 4.76%)[libvu..[libvulkan_intel.so] (13 samples, 4.76%)[libvu..[libvulkan_intel.so] (12 samples, 4.40%)[libv..[libvulkan_intel.so] (12 samples, 4.40%)[libv..[libvulkan_intel.so] (8 samples, 2.93%)[l..[libvulkan_intel.so] (8 samples, 2.93%)[l..[libvulkan_intel.so] (6 samples, 2.20%)[..[libvulkan_intel.so] (5 samples, 1.83%)[..[libvulkan_intel.so] (2 samples, 0.73%)wgpu_hal::vulkan::device::<impl gpu_descriptor_types::device::DescriptorDevice<ash::vk::definitions::DescriptorSetLayout,ash::vk::definitions::DescriptorPool,ash::vk::definitions::DescriptorSet> for wgpu_hal::vulkan::DeviceShared>::create_descriptor_pool (56 samples, 20.51%)wgpu_hal::vulkan::device::<impl ..[libvulkan_intel.so] (56 samples, 20.51%)[libvulkan_intel.so][libvulkan_intel.so] (56 samples, 20.51%)[libvulkan_intel.so][libc.so.6] (56 samples, 20.51%)[libc.so.6][libvulkan_intel.so] (2 samples, 0.73%)[libvulkan_intel.so] (1 samples, 0.37%)[libvulkan_intel.so] (1 samples, 0.37%)wgpu_hal::vulkan::device::<impl wgpu_hal::Device for wgpu_hal::vulkan::Device>::create_compute_pipeline (4 samples, 1.47%)[libvulkan_intel.so] (4 samples, 1.47%)[libvulkan_intel.so] (4 samples, 1.47%)[libvulkan_intel.so] (4 samples, 1.47%)[libvulkan_intel.so] (4 samples, 1.47%)[libvulkan_intel.so] (3 samples, 1.10%)[libvulkan_intel.so] (3 samples, 1.10%)[libvulkan_intel.so] (3 samples, 1.10%)operator new (1 samples, 0.37%)[libc.so.6] (1 samples, 0.37%)[libc.so.6] (1 samples, 0.37%)wgpu_hal::vulkan::device::<impl wgpu_hal::Device for wgpu_hal::vulkan::Device>::create_render_pipeline (9 samples, 3.30%)wgp..[libvulkan_intel.so] (9 samples, 3.30%)[li..[libvulkan_intel.so] (9 samples, 3.30%)[li..[libvulkan_intel.so] (9 samples, 3.30%)[li..[libvulkan_intel.so] (9 samples, 3.30%)[li..[libvulkan_intel.so] (9 samples, 3.30%)[li..[libvulkan_intel.so] (9 samples, 3.30%)[li..[libvulkan_intel.so] (9 samples, 3.30%)[li..[libvulkan_intel.so] (7 samples, 2.56%)[l..[libvulkan_intel.so] (4 samples, 1.47%)[libvulkan_intel.so] (1 samples, 0.37%)[libvulkan_intel.so] (1 samples, 0.37%)[libc.so.6] (1 samples, 0.37%)ash::prelude::read_into_uninitialized_vector (1 samples, 0.37%)vkEnumerateInstanceLayerProperties (1 samples, 0.37%)[libvulkan.so.1.4.328] (1 samples, 0.37%)[libvulkan.so.1.4.328] (1 samples, 0.37%)[libvulkan.so.1.4.328] (1 samples, 0.37%)[libc.so.6] (1 samples, 0.37%)_IO_file_fopen (1 samples, 0.37%)[libc.so.6] (1 samples, 0.37%)strchr@plt (1 samples, 0.37%)wgpu_hal::vulkan::instance::<impl wgpu_hal::vulkan::Instance>::init_with_callback (2 samples, 0.73%)vkCreateInstance (1 samples, 0.37%)[libc.so.6] (1 samples, 0.37%)[libc.so.6] (1 samples, 0.37%)winit::platform_impl::linux::common::xkb::Context::set_keymap_from_fd (1 samples, 0.37%)xkb_keymap_new_from_buffer (1 samples, 0.37%)[libxkbcommon.so.0.12.3] (1 samples, 0.37%)[libxkbcommon.so.0.12.3] (1 samples, 0.37%)all (273 samples, 100%)iris (271 samples, 99.27%)iriswinit::platform_impl::linux::wayland::window::Window::new (1 samples, 0.37%)wayland_client::conn::Connection::display (1 samples, 0.37%) \ No newline at end of file diff --git a/perf.data b/perf.data deleted file mode 100644 index 700b541..0000000 Binary files a/perf.data and /dev/null differ diff --git a/src/layout/painter.rs b/src/layout/painter.rs index 0fae3c5..4acf395 100644 --- a/src/layout/painter.rs +++ b/src/layout/painter.rs @@ -41,7 +41,7 @@ pub struct WidgetInstance { pub textures: Vec, pub primitives: Vec, pub children: Vec, - pub resize: Option<(Id, Size)>, + pub resize: Option, pub mask: MaskIdx, pub layer: usize, pub desired_size: Size, @@ -84,25 +84,24 @@ impl<'a> PainterCtx<'a> { return; }; - if let Some((rid, size)) = active.resize { - // let checked = &mut HashMap::default(); - // let mut ctx = SizeCtx { - // checked, - // text: self.text, - // textures: self.textures, - // widgets: self.widgets, - // size: UiVec2::FULL_SIZE, - // screen_size: self.screen_size, - // px_dependent: self.px_dependent, - // id, - // }; - // let desired = ctx.size_inner(id, active.region.size()); - // if size != desired { - self.redraw(rid); - if self.draw_started.contains(&id) { - return; + if let Some(rid) = active.resize { + let desired = SizeCtx { + checked: &mut Default::default(), + text: self.text, + textures: self.textures, + widgets: self.widgets, + size: UiVec2::FULL_SIZE, + screen_size: self.screen_size, + px_dependent: &mut Default::default(), + id, + } + .size_inner(id, active.region.size()); + if active.desired_size != desired { + self.redraw(rid); + if self.draw_started.contains(&id) { + return; + } } - // } } let Some(active) = self.remove(id) else { @@ -209,11 +208,11 @@ impl<'a> PainterCtx<'a> { desired_size, layer, }; - for (cid, size) in sized_children { - if let Some(w) = self.active.get_mut(&cid) + for cid in sized_children.keys() { + if let Some(w) = self.active.get_mut(cid) && w.resize.is_none() { - w.resize = Some((id, size)) + w.resize = Some(id) } } for c in &old_children { @@ -411,10 +410,9 @@ impl SizeCtx<'_> { size } pub fn size(&mut self, id: &WidgetId) -> Size { - // TODO: determine if this is useful - // if let Some(&size) = self.checked.get(&id.id) { - // return size; - // } + if let Some(&size) = self.checked.get(&id.id) { + return size; + } self.size_inner(id.id, self.size) } fn size_raw(&mut self, id: Id) -> Size {