推 LiNcUtT: 以前老game也常用預建表,call rand雖說消耗不高但還是有 03/07 21:48
推 holymars: LCG跑亂數比你從記憶體讀表快多了... 03/07 21:52
→ holymars: 一個加法一個乘法一個module都在register裡執行.. 03/07 21:52
→ holymars: 你查表還要去記憶體->cache->register 誰快不用說吧.. 03/07 21:52
推 kokal: 可能是為了遊戲體驗,要不然一開始就抽到爛盤面會很火 03/07 21:55
→ LiNcUtT: 那為啥以前很多老game搞預建表的啊?我以為是有差說XD 03/07 21:58
→ LiNcUtT: DOS/95那時的 03/07 21:59
→ LiNcUtT: call rand快又省工,那搞預建表的是再搞自己嗎XD 03/07 22:03
推 holymars: 你是真的decompile發現它記憶體裡有張表嗎... 03/07 22:04
→ holymars: rand跑出來的行為和預建表一模一樣,你怎麼分辨.. 03/07 22:04
→ holymars: 先用一個種子跑100次rand建表,和實際要用時在呼叫rand 03/07 22:05
→ holymars: 結果不是一模一樣嗎 03/07 22:05
→ LiNcUtT: 沒實際跑過,但記得以前不少文章都有提XD 03/07 22:07
→ LiNcUtT: 像原PO講的神魔這樣,我是沒實際去拆,說有表我就信了w 03/07 22:08
推 holymars: 那要看文章是企劃寫的還是程式設計師寫的.... 03/07 23:44
→ holymars: 為了理解方便,程式都會跟企劃說有張隨機表,每次跑出來 03/07 23:45
→ holymars: 結果是固定的,用來讓企劃理解PRNG的數學意義 03/07 23:45
→ holymars: 久而久之企劃們都以為真的有張表存在記憶體裡面,但實際 03/07 23:46
→ holymars: 上並不是... 03/07 23:46
→ yshinri: 我是有印象有看過 decompile 出來的程式碼, 確實是有表 03/08 07:53