The composition I’m working with has 13 different models, all of about the same complexity (pretty complex). I tried reducing the complexity (the amount of polygons) of one of the models, to see if it would help with performance. I expected that I would have to do it with all the models to see a significant improvement. Strangely, the frame rate shot way up after I did this with just one of the models. I cut down its complexity significantly (so it’s 1/8 the complexity and file size it used to be) It’s at about 40fps on the Intel Iris now, 30fps on NVIDIA. This is good enough for my purposes now.
I got gfxCardStatus to see which GPU was being used. The discrete GPU (the NVIDIA) was being used. So I quit Quartz and set gfxCardStatus to make the computer use only the integrated GPU (Intel Iris). That almost doubled my frame rate (to 15fps). If I could double it again, that’d be fast enough for my purposes.
So it seems like maybe it’s something about the NVIDIA GPU that isn’t dealing with this well.