diff --git a/flamegraph.svg b/flamegraph.svg new file mode 100644 index 0000000..99b0db2 --- /dev/null +++ b/flamegraph.svg @@ -0,0 +1,491 @@ +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 new file mode 100644 index 0000000..700b541 Binary files /dev/null and b/perf.data differ diff --git a/src/layout/painter.rs b/src/layout/painter.rs index f1e4e29..0fae3c5 100644 --- a/src/layout/painter.rs +++ b/src/layout/painter.rs @@ -85,24 +85,24 @@ impl<'a> PainterCtx<'a> { }; 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; - } + // 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; } + // } } let Some(active) = self.remove(id) else { @@ -210,7 +210,9 @@ impl<'a> PainterCtx<'a> { layer, }; for (cid, size) in sized_children { - if let Some(w) = self.active.get_mut(&cid) { + if let Some(w) = self.active.get_mut(&cid) + && w.resize.is_none() + { w.resize = Some((id, size)) } } diff --git a/src/layout/ui.rs b/src/layout/ui.rs index b13c1c8..9122723 100644 --- a/src/layout/ui.rs +++ b/src/layout/ui.rs @@ -134,14 +134,14 @@ impl Ui { } fn redraw_updates(&mut self) { - if self.updates.drain(..).next().is_some() { - self.redraw_all(); - } - // let mut ctx = PainterCtx::new(&mut self.data); - // for id in self.updates.drain(..) { - // ctx.redraw(id); + // if self.updates.drain(..).next().is_some() { + // self.redraw_all(); // } - // self.free(); + let mut ctx = PainterCtx::new(&mut self.data); + for id in self.updates.drain(..) { + ctx.redraw(id); + } + self.free(); } /// free any resources that don't have references anymore diff --git a/src/testing/mod.rs b/src/testing/mod.rs index 5f1b7fe..f051774 100644 --- a/src/testing/mod.rs +++ b/src/testing/mod.rs @@ -3,8 +3,8 @@ use std::sync::Arc; use app::App; use arboard::Clipboard; use cosmic_text::Family; -use render::Renderer; use iris::prelude::*; +use render::Renderer; use winit::{event::WindowEvent, event_loop::ActiveEventLoop, window::Window}; use crate::testing::input::Input;