I want to apply a series of transforms to a canvas. The transforms consist of scales, rotates and translates. They will to have be applied dynamically and in a random order. For instance: a canvas is translated but next it will have to be rotated around a certain center, scaled around a center, rotated again, translated again, ... I used a transformgroup and because I know that the order of transforms is important, I added them to the transformgroup in a way the first in the group are all the scales, next the rotates and finally the translates. This works well for a while but after a certain time a get performance problems when there are to many transforms in the group. Is there a way to overcome this?