※ 引述《QQ29 (我愛阿蓉)》之銘言:
: 請教各位
: http://www.cnblogs.com/kid-li/archive/2006/10/17/531113.html
: 我搞不太清楚 flyweight這個pattern的use case...
: 雖說舉例說明
: 一個遊戲可能有大量車子或是樹木在場景
: 可用同一個物件代表 重複的東西
: 但我想問的是
: 我用同一個物件
: 但是物件的位置又不一樣
: 用同一個物件不是沒辦法render再不同位置嗎?
: 有沒有更好的例子來說明這個pattern的用途
: 謝謝
事實上遊戲正是最好的例子
遊戲裡面最常做的事情
就是把一個小兵模型render幾百次變成大軍
每個小兵位置的不同,
只要把原始模型乘上一個4x4的位移矩陣就可以解決
但是一個最粗糙的模型也有數千個面,不要說還有貼圖等等
所以
1. 儲存一個小兵模型 + 幾百個位移矩陣
2. 儲存幾百個小兵模型
哪個開銷比較低呢? 不言而喻