I have a QAbstractItemModel that interacts with a QTreeView. Currently it takes to long to load the tree and to scroll through the tree. Is there a way to speed up the tree?

Description of the tree:
1) Child nodes under root < 100
2) Each child node might have as many as 40 branches
3) The expand all function needs to be able to be applied
4) Fast scrolling is required.

We have tried several things to speed it up and haven't been able to get anywhere. My most recent attempt was to try to only have the view load what it can display in the viewport. I haven't been able to get that to work yet and I am on a deadline. Does anyone have any suggestions or obviously if you need more details let me know. Any help would be appreciated.