Re: [問題] Ruby/SDL繪圖
雖然沒有人回答
但是我終於找到問題答案了
我繪圖時是使用SDL::Surface.trnasform_blit
我再它包裝成SDL::Surface#draw
(反正要貼的Screen也就那麼一個...)
把圖拆開畫和拼起來感覺差不多
不過這就是重點...
今天在偶然中使用了Ruby-prof來測程式的表現
發現SDL::Surface#transform_surface佔了執行的40%以上
(其他40%是Delay 20%主程式 所以...)
而不是SDL::Surface.transform_blit這個方法
也就是說這個方法裡有玄機
於是我找到了Ruby/SDL的Gem資料夾
在lib的sdl.rb中
有句很重要的transform_surface
代表了會產生新的物件
而且是每次要transform_blit時都會重新產生
於是對於大的圖檔就要花上更多時間來產生物件
(應該是要用才會alloc吧 我有弄錯嗎?)
所以改成只用一次的transfor_surface
再搭配上SDL::Surface.blit就大幅改善效能
(本來一圈24ms 現在只要6ms...)
各位要小心函式庫本身的小缺陷...
還有80:20法則...
話說用Ruby刻一個RPG遊戲會很怪嗎?
不是用RGSS而是從無到有這樣...
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 36.228.150.59
推
10/17 09:57, , 1F
10/17 09:57, 1F
推
10/17 21:17, , 2F
10/17 21:17, 2F
→
10/17 21:17, , 3F
10/17 21:17, 3F
推
10/17 21:54, , 4F
10/17 21:54, 4F
推
10/23 20:44, , 5F
10/23 20:44, 5F
推
10/27 00:45, , 6F
10/27 00:45, 6F
→
10/27 00:46, , 7F
10/27 00:46, 7F
→
10/27 15:37, , 8F
10/27 15:37, 8F
→
10/27 15:38, , 9F
10/27 15:38, 9F
→
10/27 15:42, , 10F
10/27 15:42, 10F
討論串 (同標題文章)
完整討論串 (本文為第 2 之 2 篇):
5
10
Ruby 近期熱門文章
PTT數位生活區 即時熱門文章