i suspect if I can identify why that is and resolve it the initialisation time will be halved - which I will look into.
Having said all that, it does look like from the trace that Scroller isn't acting as efficiently as it should and the table is actually being redrawn multiple times during initialisation. Hi LTT Community, I started working with the free version of DaVinci Resolve 16 recently and my rendering times are ridiculously high, the first time I rendered a video it was in 1920x1080 60f, this took 3.
We can't just apply the same calculated values as it results in column misalignment! The widths are applied to the body which is slow, they then need to be read back in order to be able to apply them to the header. More generally, with scrolling because DataTables uses the table element, it needs to split the table into multiple parts, a table for the header, one for the body and one for the footer (if it exists). This results in about 1S init time for me. This controls the number of rows that Scroller will actually pre-draw, allowing the deferRender option to improve performance since less rows need to be drawn at a time. If you do require scrolling in the interface, use the scroller.displayBuffer option and set it to 1.5. This isn't a problem for other grids that don't use the table element since div positions are more easily calculated. Scroller attempts to marry the two together, and it usually works, but it appears that IE has some performance issues with really wide tables. Almost all performance issues stem from that! Use paging instead. The optimal thing from a DataTables performance point of view is always to not use scrolling.