merge some commit

- particle effect 2d now works
- optimize some calculation
- fix animation not update graphics at 1st frame