頁:
[1]
[求助]要怎麼讓圖片運行更有效率?
因為找不到androio studio app 的版,感覺上在java 區發問好像比較合適問題:
我想做一個 w*h高數量的圖格 組合成一張map
用ImageView去放這些圖再移做主人公的移動,當作map相對移動時畫面會有嚴重的閃現
經過測試後,w和h的數值越高延遲越嚴重,幾乎一個手機畫面放不下2倍大的數量,我是用32*32的圖塊組成map,大約15*20個圖塊佈滿一個手機畫面
經過想到另一個方法,用一個佈滿手機畫面的ImageView去讀Bitmap ,這個Bitmap 用Canvas 去畫每個圖格然後組合,雖然解決了閃現問題,但圖格一多也會有延遲,似乎是記憶體吃盡,而且偵數下降到約25左右免強才可以跑
我實在很想將偵數提高到100,也就刷頻率強度設為10ms
才剛做地圖而已就下降到25,實在很危險,所以我想問說有沒有android studio 有其它方法可以高效率運行這些圖塊
除了要沒有閃現也要能夠運行1000*1000個以上數量的圖塊
再問問有沒有人也跟小弟我一樣在初學app, 大家一起討論android app 在哪裡可以不用花錢學到較多遊戲設計技巧orz
...<div class='locked'><em>瀏覽完整內容,請先 <a href='member.php?mod=register'>註冊</a> 或 <a href='javascript:;' onclick="lsSubmit()">登入會員</a></em></div><div></div> 聽起來你想做遊戲,像 2D RPG 那樣在地圖上移動角色?
首先用 W*H 個 ImageView 一定會撞上效能問題,可以直接放棄這個方向。
用 Canvas 去畫應該要很快,還會遇上 framerate 低的問題,可能要看看程式碼,確認是不是多做了很多不必要的事情。
聽起來你正花時間在 game engine 的部分?如果只是要做遊戲的話,我覺得是先挑一個現成的 game engine 來用比較不會花時間。如果是想研究遊戲開發,沒有經驗的話,也是先找個 open source 的 game engine,讀它的程式碼,學習別人是怎麼做的。這個問題跟 Android Studio 無關 (AS 只是 IDE,但你的問題是 game engine design,IDE 幫不了你)
最後,據我所知,「貼上 W*H 的圖」這種事情,game engine 幾乎會在底層利用 3D driver 去做...<div class='locked'><em>瀏覽完整內容,請先 <a href='member.php?mod=register'>註冊</a> 或 <a href='javascript:;' onclick="lsSubmit()">登入會員</a></em></div> 本帖最後由 ahway9988 於 2019-2-18 11:01 PM 編輯
codewice 發表於 2019-2-16 01:40 AM static/image/common/back.gif
聽起來你想做遊戲,像 2D RPG 那樣在地圖上移動角色?
首先用 W*H 個 ImageView 一定會撞上效能問題,可以 ...
感謝orz
懂方向了,看來是需要花時間去了解 真正的遊戲引擎 是怎麼做出來的{:28:}...<div class='locked'><em>瀏覽完整內容,請先 <a href='member.php?mod=register'>註冊</a> 或 <a href='javascript:;' onclick="lsSubmit()">登入會員</a></em></div> 本帖最後由 kevin61416 於 2019-2-21 11:48 AM 編輯
理解遊戲引擎的確有用
然而您更需要的知識應是計算機圖學以及線性代數
例如您說的影像,在線性代數中可利用 SVD 將其進行壓縮
在圖學中,則能夠利用 Double Buffer...等技術,使畫面流暢
物體欲進行平移, 旋轉, 縮放, 投影,不過是乘上一個轉換矩陣
若您對於遊戲有興趣 這些都是必要的知識唷 {:31:}遊戲引擎內絕大部分 也是在實作出這些東西喔!
...<div class='locked'><em>瀏覽完整內容,請先 <a href='member.php?mod=register'>註冊</a> 或 <a href='javascript:;' onclick="lsSubmit()">登入會員</a></em></div> kevin61416 發表於 2019-2-21 11:43 AM static/image/common/back.gif
理解遊戲引擎的確有用
然而您更需要的知識應是計算機圖學以及線性代數
受益良多,感謝orz
正在努力填補這些大坑小坑中{:27:}<br><br><br><br><br><div></div>
頁:
[1]