a bit of an update. for me it runs at 13fps on your config, on 10.2 it ran at 34fps, i will use these as references. also i dont have any images, so its just pure imgui code that im testing.
i see one of the big problems is what i call the "cluster" text, the data below the buttons in the grid/kanban cells, that has icons and text next to each other.
how it is drawing is trying to calculate the optimal way to fit text in there while it looks good but is also compact. its using a custom function i made, wrap_text(), which makes up for a shortcoming of imgui.
in imgui, if you start a piece of text and it reaches the end of the available space, it wraps around to next line at the place you started (so same x coord you started at, but 1 line lower y coord).
what i wanted is that if text is too long to show on the line, it will wrap to next line, but at beginning of it. with the "cluster" data, you could have it start drawing the text for one of the details in the horizontal middle of the cell, so it would wrap around in the middle of the cell, leaving empty space to the left. my wrap_text() does some unnecessarily complex manipulations to get it to draw correctly at the beginning of next line, even if the first line started at the middle of the available space. but yeah, my implementation of this is awfully wasteful and eats cpu cycles, and in python of all things, so its just horrible.
what i think ill do is just start drawing text at next line if it doesnt fit on current line. means a little wasted space, but also easier to read, and most importantly much more efficient. this brings me to 23fps.
wrap_text():
View attachment 4326976
normal imgui wrapping:
View attachment 4326984
imgui wrapping at next line:
View attachment 4326985
of course this is an extreme example with very long text and very big grid cells, but it gives an idea.
beta build 1374 has this change, please give it a try. ill keep looking for more things causing performance issues