I'm trying to create a ListIconGadget with about 300 columns, but when it's loaded and I want to scroll around in it, it moves really really really slow
Does all the data have to be displayed in one list? Possibly not, since you would surely need a huge screen? If the data is not all on screen at the same time, then perhaps you could use more than one list gadget and 'display on demand' using hide/show gadget.
IdeasVacuum
If it sounds simple, you have not grasped the complexity.