Skip to content

Conversation

@Wires77
Copy link
Member

@Wires77 Wires77 commented Nov 6, 2025

This PR attempts to speed up PoB when running background tasks like subscripts or coroutines.

  • There are several places we use lua_pcall in the code, but I chose to only monitor for coroutines on the Lua state in ui_main.cpp because that's the one that runs Main:OnFrame and thus most of the code in PoB.
  • I chose to do the coroutine wrapping in Lua since it seemed simpler, but I might be able to make it even more simple by wrapping yield instead of create
  • Initial test works in that I can watch the uniques and tree being sorted while the window isn't active and my mouse isn't over it, though I'd like to instrument some more timing to make sure this is working as expected in all scenarios.

Edit: Something is still off with the timings when I run locally with this build:

eNrlPdty2ziyz6uvYLlqzktkBzeCZI6zp3y3M3biSM5l5iUFkqDNNSUqJGXHs7X_fhoAJZESJVGW51Y7qXKJYHcD6G70DQBn__9-DBLrQWZ5nA7f7uA9tGPJYZCG8fD27c6nm9Ndd-f__tnZvxbF3YfocBwn6s0_O__Y17-tkRgWdzIdXsXDNDtLw7c779Oh3LGCO5GJoJDZpXyQycG4SK_SUL7diUSSw-tEtb7d8aA3XwzDuJjiJSLP34sBgN7IwSgR2Y71EMtHg31xdf2hd7NjDUQ87KfBvSzOsnQ8gnHvWCIP5DA8muGfxzJLR3cwwB2rENmtLD5Ppkm_QcfToYt_VYcOc_vH_nUinmTWL0RhPYhkDNQAIYfHtzsHwCxxK8_jYud1S9jDcZYXx2IAP9fj9EdShkvB8J49ATzK4uJqnBTxKIGZLsdAU9Iw5iPgR9BiFDdpIZLj6_5SSMoIIXgPc5e4COM6XlpsivclLu4AbVWPqAp7mACXWkNf3A7jQrYGv07jPB1uMftWPR2NkwTWUivYnsxl9iCK-FnDOkoHfjxcw689SmfwaRKmj8Pl_eyxqYpnUnyITqJIBkVPhPE4v5JFJvP1c7oSQ3GU5kU7yGuZwfouNkLoyyAFk7BpHxtiXsaRbA-50TxKhE1H87x5nPTbwm1M-HkD6oG9bAfZT8fJSkjsTRW2X6ywldibrbjvqyBtZwJ4LH8sheK8Qm4VoIunc7kYrpiGbVcIroJEs-E9pMpsrGANpmSPIOS4iNmkZspOzq-XD5ngqcG4vnvK40AkV-JHPBgPwM_ciHu5vE-CPObNNPb2rhiCJWyLTQnxpuw_jTPZFhFTl1WMYhK2RWRoJh_woGneukfbI9WVuRzQrfj_4I2CvRgGy8FJjeynYaYdxKrAoY7Rg3WoghM_WT4mZ49zSjG3XeJhxps7LJd2O8PUk7dyWHb91A7lUsrg7gzivZ4olg_VRS6tWvLluuPUGa2AVzHa5rhGuAWnubfHGEHUdRn3-BLs1mxTaBuyTaG0YxsnfLqQToYyu33q38UyCTdGmAzuSIyWqxOtcb6KvlLVHYhoeHOnG7GlitqOPbOgUGRhO3_VbkwY22zPo5g6dXurc6pjRWKFQnJYli4nbg3zvSx6K_GmowTI6VJsBT3VwA3GBGgLklpuXfFMpx5EvspZoboKGehV2jNbFBIyBkAIZdsU6DpL_wVBbZy0QsMesWcx8SAdZyu8X20WBnrVJCiad7QmmezJcBysdO4zo28i9PhBHiaQOLflwRQLRpokG6EeFIUI7o_T8LY1x3UnG2HUx9cfj0ZgYJVOrCHgeNX4AbKruE2YOYP9AMt7la1jTjXMaEt_BruOPucL0VPbTuYQ1vW0y2gt8mk9lxnwui7wXoOaXoEFHYCH1OWQq7SF-T2FfLpVMq0BVyfp02zhOn2Ewd-p8lG-GTSEiC2Gksnhb0_r6NNG8FUdsJnTC8eZWgqt5zCPMevmJh6AEc3zY1EIKyzzis8ii8WwwLoGN9dIdGMuRRbcXYIivN2pPp2KJPHBRECror__Wns_9at_HydJbgmzstVDXxaGVpoVZ3KQHz6B9E6Va6lXN-oAb3eKbCzVsCIxTlT7x7FI4uLJSOAufVQWw2DcPI1kDlbr8tK8OUiKEliRmxYuZ6QuTQlzmGaDaeJjioeTEVtxqAat2spGXbg8mE3rSCRBric290K3JcJXPcB4khSmf5iGT1bpWiw5VKF7OJlhPAyScQgpQ7kIYFxxYnr-xz4M1vo-mbiqCgXpeFgYEOtWDi5C5R4LEYJcX18UMN3Xas6v9UjgV09ZDJmOc2X_YDSqWeHU2oFfXyfDOktSXyR4MrgHow0rUaYzGYqBMuZBBdZSwFYaweQDMZTWNKWdzEpRPjaCmZaWCaqPhpj5vm7iCWrPkqm-HKXDIksTGPmxzGHoxg_PmFNCLgFbx6c22A0sm8FbNYQ_kU8Q12RS5DI8HGfK65Rl8AVGzb1uyaBGrAbGlHDWBPBPZMhJov2aSE7TYJwvMmL-fUtONKM1sGIKaJWQfyYvogii2eCpgQvTN23nP4fQNPMpyHOnvG9s4nqLrlmwYNN165xV_yLFKB1aeAuTjja26J_jQuNW-D5rWsfwecgGTs9A_kTlOkxEPrqTgwbtqrxqa2jmMZqMzAxmxbRVifl3mHYp2dNEDAbCj-ekW29eN-cm6Ib51sGeO-Xfb02RP3RNXY-zOs9Nw4eoNLgtTPkyjAbeG1AVFM2A__i1NlG6aV58AKlDAwtM4Nh2-lXolVM3gH89Y_7HKp6JaVSSrRK0OQlcCWBFmkhVDFkrgAbgBv7XoP5Cq_5cJgNZ_LFrPpNBnNcD_0rbWoWfB23S9hnMKl7_3q40TcMrcRsHi770IMvSW9FKv5ZhNEy7AvMXUrHDNG2wyu01jG6uYcAvkVTVq2xYq1s1uCbFKgH-cK2aOI0szQs_iYf31Til0rg2SlmAbYpRKkB_YiyqdlwKMVpcPdMXLdfOHHzDjKcQzxTs77BsoJcHmW9nmTXjruIhWMK50tmGetcfDwZ6fyDNz8CLDRZJm0rjTFDz8OtF1YwxnXilwwm0DKvwM2mat5Z-aZVvXyDgKX_2ZaErr6bgqn4epcMovi1Lr-ahrL1qtGlLrbZ5nYhA3qVJKDM99Lc7g-m5RHWeTmYy7KvdoCMlqr5MIpjieODLTJ2QmIxukUr_Lg3uNWJeQVgOn8e3cfIh0lV4QFPl7jZocgg5W2WfZopjoxVjC9IsuNtgcLoXc7hzCu4gtG5Y2fTM5mxYLXAmha4JDl3XUX1ncYZICFs3qemO0jNwFdufgaYi_-f0ppbRPJ7r8Ra9baIbhitqRVZ6YW25eC2HFbm14N9GCGouGyFMdhwm8Bx7rrcGZ7KNP1sXCDPaRjjzbF6rt_P7n-0FVO6hp0nSE8OqQjgl5v7rqbnTVtI8qZ83mZSfY_lo_Zamg1_e7uxizPcQYeWmUiGK4ziKwOzBus2nVl_vfPWLTDlGhVjuIFHz9FVZ7z3bMcq4r_2bHsXFcDQuJnY1zoNv_jiK1Hl4tWOX6XP6J6enJ0c3F59PyoFXUbSz-WbmtmCo9vtSbxGAE00SMcqVjyp3uvKxn5uXqp4nH7WPOAbHGidg8JT5L11IAlAbUdN45zMbpWjNHjehdPJDZgVw4AtwNotlOa7p08aDMkNIy1TaUJsdZm9HyJx7OBJ5oc8WGU5VzvS3o6JseDkd9XMj3IvBCFJ0g1z-3pgThdoOhQgkjuJA6XNV5Gqr1LRtxJcgGGe6-l7Ku3ZEox0NferfEDA_N0E2p_oNdvl7I67qOwQlV83vTdCPZSDKuZufmyBPj6ulQ3XvRFOZtm1E6X061EoOi-YgTsrCoSJ3kshpwyYEP6jwzpzaKCldgY2aNGy4cLLYHxeTZVx53ohX6pit4dDswG07VH1y1Mxhdoa0pSWqnp40DF08T9mOlD5sODFkm6EaH1jyr3ZSp6UISl-v2V89xNaSCRO3r-dfO8rXcpFo-3vwkMahCXn1cplr3MxgQAaxPRl9Jm17MvOH1LaneJqI_L6Ud_l7KXoZhVSwPxV672Y7ImqVbUdBLbbtKNzEw6AYZ_LZBHrTQKS3MgZZxJycqzKuunbIqhX-9LjVsymYQ2HPRtfZckvsZfb_WEY61J05gGnLRuujGA-PgRvFdG20I7U4KT2qOTuyHS3jG19oombJm6sjFRtQvUuyASHw5efTaPG5lKYHL8-lSNQVyDTZjuD8FZn2xBqWpwzS8UgMwwm1D_UQ_bncS4sciM5O3edbjfJEZ5Ur6EAKWWZ1--9TiGsUadU6ediHaD3NCitRyQOIYQCr82hHP0L0rGpn5yK_e7sTCi_wbewLl3vCwzyMEJIBiWzkCI58BG8l9iOIZeQPRfBaZKqKOrl7DeSOJtezDUE7CpFjcz_wBXMwIoEISMBRSFEQMk8Egc89bEcmJNrX5KxQ5pB6iTJwSEBbxGgkhzNO99UpyvBBLcAb0KbpGcrXkwx6csBTFzrLAqN6sAYwQpk9lUHk251_Y5cw1KW2i9F_uv8mLnG7GNsEwwNjHuna1Obqt0u407Vtilz15GDP6RLKDZyLkNPlzHXs_0AaDOlzrq6kuECJEBuIuw7CXeIh5nUJAZoEEejGo_ATI-itixnBuKv6Y13iEES7pj_KGKFdYnsO6jKKkBqobXPoi2AE7Q5mXUqp-u0ywLU9anc59Rzexdxx7C4DjvMu4R4HAvAHWohDcZcSj5IudZDjdil2oEOOkIe6tsts6NCx1dA82wxbUbBhHjYiMCdKmeN1HRtwsM0URRdjF1iDYTAcM-xBr4TTrs24x7qMOwqfMIcApI1VCwWOE8-DtxQD07qEEZgU_FQsxhhpEdgYOnQ5jJJ5wF4bMQLSIJ4iRoFnhLucd4GsbTgHmB4wC9AZNLsgG8VET42MUvVbCQlkBDM24oPhAeMYR4BLiaOYyAkw2mgEs7mL1GSBox70DCNVM7MRjJFgDuwA1hIYo4O1oGzoAhjjAQqnWP-GLkAUXW5rgRIHZGBDC-9SztUokA19Ug9WGXCcwZQo8IeDEHWDRzwFSJlmACAx5CnuOzA4aCWgNcTDVM0dGOYwplQHA98Vr9VfTmGkGsKBPxyUGlCAvQ6MHHC6FHlKDjYHBoLsiFIxNTm1BDiiqjMQSP3zB2pjgOxYhSpSzb54QJzy6wrqtbqqom_iiuzpoI6JyqL-p96l2Yq5K4pR_ub168fHx72RKO7SSP6IE7kXpIPXI0CCJbyri0y7qsfXB_Df4e2nI3n4W3Dpff96-fXUPrruXR8e9R_fsSt6yz1X3H9wY_Yr_fXrz8Pdi-x-t3h3H6QX0n-8_Xr5bZh-_EXefhwkHx-DLwPOju7v3__q4N3v3D79DGbhsQi-XLzz8t7jbR6EN789FuNv_tf--FuW9r99HmXi7LMbe7fZp5OwP3JvsXPQ__TtfHSEoh_f-cUX94acXh5-_Zn862n87qr3r6vs5ucnMKXZ03dy1HfuHP7z-JTQ6-zjVeT-Ohjehwf58Oho8PhBRCfjxyPc77_bpdHNI3azh93jr9zxTvp0N-fBBT5_uu6N2O5g90d2av-KTn_8KM5-cUV8-v30Kr2-8tyTp0B4-Xmv9_0MR---nKHLX3rvRh8eUbo7-Pjb5bvH3vFjfsV3-c27x4MzcvDkxj9u8pNffvOEMz7_evKFff3lIe6hg-LgY35ldnUmkto3n8TIyx0086RNnZKrVnnwS4XZIsPTzc05OG0XZnBktnlUob6vHHAWgxEtK6XKbmsPpwy7dmVq580a59Lc-DYnY_RWkt6oW1EnNV5B4Vd3ntRzddOpJ9QpoDdW76B30vngJ_GD8s86w-ocZfEgh6d38lEmnU_D-PtYWhfHb6xIcj_iDKmrmYgHrm-DvXWFT53AoTIEwyIJaAKCliAMiCtEBG4hwIILFvlIdvQodN32jWU7HfDXSRxA7PXGQp1X5CfL1LSsIrV05mnGU546th7vYNlYj6ogoM4iCwsYEEUdbP-ktkLNKWlz1t0gdCj9ycrUHS9oN85QnXo6ulN7sjC9p3TcwaSKrD7GMEFWUrpKQ13btjL1V33kwd4pmVhKdSkEWQtB10KwSR1dsa0uRdIgxcsUrAuEDSILO59j0K5YNMgwxAgiEZf4vkOEA15RMCqQdCKCPBF61PEkeFIpiB_ikDmSS8qjwA-iAMy1I9y6DPmcDF0luz4YsuEtjAWCQ-tY_oBgBEbZeYX5T-q1KsiqrTIFF99La_YRFhAuYKk9GctsqXYIqsqnfgy9g2n15URLFIkPQ2mdQ-_QbFZO_heXJ63L89P7i4-fTjpHaTbOA6FK9NZJEv-Is05v7D9ZOkGvCtVxmQdOmhJXQswSIRkREQg3dAKP2D6TLqZIRFjFuF4oKcS4YeQGocAcwhIsUE2oLuqUV3eUSHVjT35_Y2G3Kmzc-XeQiaiQ4X96cqwEIAoLUj0LnKFaZsVdnJuB_g8IIP_f3JJ6CXZIbb1O8tWO2aIvhViomN8KU5mDXS0s_0k5SsuUBC1TE7Qg71d8Kan25EAdkrAErG1_DAsdNECVVtRCh9GV70MrUW0wMn2lVkLfauDzpNUOhkVKF5-3EuoKCHu52Fmj2G-AixcPafZk3ajiQqcv4mEx4eK5GPsyu--Y-qJagqz8fQgMLe_Fg6EE2e3ZEP10alN7Y3lOp1pabUCiTlW1WIiopMKzQXcg0oxsPwxcRwoaQkzlQUjoOFzYUkofFAoCLYREACEiuAeIIgMH11XLnqkWQZ3SJb6xDnd7u4fqX0Xd-Lx_4ExZj4thAT4hvlU-r_OKItU2MLnynBRHIESMkNUrvxmg9aHzynOqKKp41pkpgwX-QB0KXiBkdKGupaBGRlGjLDWULF9GaWY07y9kcZ6nnHajcoJ_AX5MtLEvZdg5uFWcOxiME1lUVccPBcGQ9EEwIDjlEmIHH7yLjcG7RBDQc4f5EFYFIaQwyMWODwpEBYYsiEqbKvlXVIfYVVPE66boFWELjqemKC6vGh0tqqnQVeCj9hqrasC0GmgDUpH-eykyML-Qrcdgam5hWVYBqyZlNZKLWozm764-vCFEOUzUcQPQGjCwnXcilBCNpSNgVs3iMCHCKPAC7AnftQNBXBWyRNx2IO31o1B4KisVtuAkYJELSuRHFFwg8SPXd4Ka2mBcdWZTg9MDg9OrKJRXtzW4pi6Tsz2TuOMgDHNLK5xTizfr8ch8mGNi2w6vxKSq4GWpqq11c5fJXJ2xgChJ26fJdq_SBXBzf3ttcBq0oS9uVfHVgtz5saNuw0hgVwIr52s6urtVwUUtxiGeg103tAMIUCmyMZgLJAWGfIsjLBzfI-CnsAx9yiSJMMehSj5sFEQi4IzX1MKhM7Wo2RIyl0_MrvtV40tzSGESpH7KYWHrE4QWodaRCkFUIHT9lIFOoIUEQ_kXE7TU1exMzdhXR8W1lQDDWl7k1tEVmBAdUmko6048SMsB4xNMMyazqb4CJ5QwC0y8xaB5W-3aKvR165pxdXB2cdQ5hnBtOHUyRXqv9KRRLQgFpSCcuC4KYIYRpb50XIcgTDF3XRlSRyJIcyIwHaAdYCecAEMSC2kPBCy0bi1sd6YWdl0teFPUWrlABLydHABQMada22Dvq7qBuaUiu7NMPllfYvBQ5-kjaA-ly_LXl5FKE8-9htV4nYhb4OkN5Fidm8d0F7gOMXRPGZ8Ku10ahhGCBegTFnk29UJYgBGXga_yDwcJEYSQQno8RCGzHelwKW1XIiG9EJYsqYeDvBrv2XM-XS1ElS6qdFA59OlRNctszSvFzzuvbHsxLOSLMd4rZsg1UZmlMq8In3VaAfi7m1-MlgVzD1k6HMrJUuspcZiE7CqFtLlRB1gE_phHkEgyZksWhFGEVf1aYk-6YWhHoecLSahkwhFUOpCBBgENKfcQorZXj-tcWtEBiubjuuXxPUjZXZC8_uiBpRNDdXb-jfVLOrYCMVRZZCW8M1H_PGwFgK9OAxZQXxEbLajcpYyWjyXQm8VWmlW7rU9wHr8anyITNqoxmQrhAvT8kOq0_04KvQKCr4Vw1kK4K5ZNU7W0fz8GD1-WSkU2VCFeIEeQe1QXCUcuLBOXwDrwEWLICUNkOyoycRliruSO47EoJILaPIgkDnzsRhEBS-n7kNPXDaXDG6NYnTZXTehcWkTJqlAGLOziAnpFXG0AK37IlEPUdnGlVAfIJueqaXw9uFiS2EyNLWO_k-f7i2lno2aRRoN8MRjoe2XWaQL5AIhWqNMT1qFM6pm1w7kQHjhVyoWNQ08wCGoiW9iBg1xPEGl7oGo0hPe-7YrI5XbkCsxQhCjDdLkFtuctcL3CUpZQFtsqtokytMcXcucKgLdHZtarfL1LqNY7FTzPFLXq6HcZns_EquWXMiRXJzk6bC7oVtWxcvtAGV8TKYdd6zRLfwN8sMH6qoz87zOLjarZXIy-zuJ8YJ2NRaY2FjoHWXAHK_pn4OTEp0xKkhhCuWUlSeqB9s2VJClbU5JktYBfyggjFBEmnch1QkJsx8MkhFZKXT-ymR2xKMAeYSFzbUF54AWOR7BLIt_H4bzuLzGsVs2wuvOxKVmjra-IDjZ14A-RhKGslBEyB0tdqOtMm9STpT6_rKPcslpp1k8MEZgUup6u7WsdRyeBtKbrlQ-dW_p7LTFY9ScYjR5OZS-G2Gsm8F9ggpur71eQmuWjOBNJ5-BB8SVOLHM3fqbgoMPLFJxz7swrOFmn4I5d1XAqeWhTEiCPYScErWbMATtOIIYOGCg6JbZ0iWsz1wvBnIMvoL7nRZAF2w7kt15Nw6m3pAB2Nldvp_P1dowXHbw6MG9hU_S8qrzQeyg_CtDtq8Zws0yHrSMT_urD9wbxVBlvvRWLNNWaZTcH18wWje5_Af_319Pt8q7mIvqlvFW1PfUNjnH21PnylA1ycGvS0jfkp3pGOV5uSFVJqzwkbiDLhyWg1fwNU0wwRAtSMMp4xD0RCIIgSmBYYh46iFMindD2IFBlLuIEe3YghCtA8SK5kMM36deZ1q9qidXGdf0iDm_w0soElhPp1E3b5IuWlr4NNCmrTxRLQPBo7pTCu3pgOdv6NwCablk3e7yT-iAA-DGwhGJKoqzNqoMI4wxMqQB1y8dZlo6H6vBBx7yOIHJgk23Cri6wqfzL_clsgEpNdUJskmJrwy7yWoRdCYT-9pUG3qjxx6kMs2mZ4UYOx5AufZbJgywsc7993mhissZoaktbzbjASBJb-X8X88Bm8ORQ5ovIDm0JsL7thdwhMiAYcRxyD4wsczmjWNjcDesnGyhdotbz25QwzLrZZIv1KAhXqgpZPdXSIWy2IaBuvZXq_UepwZwI1dX0pYeOat_j1By5CD_1LsuLkvqkiaUPR-5MT0OVj-o01LUPsOXHShWBJJ1csZx8w83qP4qRdeA_5bnKqc25KlzHnh6sQpsSIi9FiL4UIfZShOyXIsSfQ-glBPYSsnoJMb2EhF5CONvLhbzUaiIvtZrIS60m8lKribzUaiIvtZrIiwjsJWT1EmJ6CQm9hHC2kIs-wfZ8ldgAz2zSLpO3uxRjmXSdBgxVR1wCjskKe7QMBzfgmHNASzDsBoTJh-eau2ArWLwMhzZNvfr570a0pp4mn15q7oc39qO_cdaM0DR9tbu2lMPeMoSlc0fLMOjGWr9sUHQpBtm4j81H9eyoaQkeX6qS29jiZgpkawp0awpsawr21hQ2scCVhbuNQFaQIS9Dhr4MGfYyZOyXIbOJpIyx3EZIzRTI1hTo1hTY1hTsrSlstmrADW23XhoIkG0J0G0JsG0J2NsS2EgKEG9tJYQGfLIlPt0Sn22Jb2-Jv57_S0pT5Q2-hgt986WpZQTUTdUKAfO4AYHybmDDVcEaAVOTm3w2Td8E_Gdn__X8_0P8_wHgC_se
  • DoT DPS unfocused
  • Offence/Defence focused (to clear cached results, all 10k ms ones are this)
  • DoT DPS focused
  • Repeat
image

@Wires77
Copy link
Member Author

Wires77 commented Nov 8, 2025

Much better

image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant