緩衝載入的方針主要是「儘量減少前屏繪製的工作量」,思路的重點是「選區」,更具體的說是「塊移圖面」,英文稱為「blit su***ce」,這裡簡稱為「位移」。位移(blit)大體上分有三類。
第一類是「全屏載入」。全屏的做法雖然簡單粗暴,但不一定效果最差,尤其是螢幕的大部分位置都需要更新的情況下,採用全屏繪製,與理論最優的區域差距並不會很大,卻能省去不少腦細胞。
第二類是「髒髒塊的合併與切割」。髒髒塊這個詞,是仿照髒髒包而來的,一般的英文是:dirty rectangle,與髒資料的「髒」用意差不多,意思不相同。髒資料是要被清洗掉的資料,髒髒塊則是遊戲世界裡的變動,是那些需要在前屏重新繪製的區域,對於前屏來說,髒髒塊是要被重新粉刷的區域。之所以把區域用塊狀去選擇,這只是目前大多數遊戲引擎或**中的手段,可能是長方形比較好定義:長、寬。所以這一類方法的核心不在於矩形區域,而在於基於矩形的一些合併、切割,試圖在全屏的全集中找到乙個或數個子集,然後對這些子集進行重繪,重繪的面積就相對小很多,特別適用於那些每次只更新特定一些部分的遊戲畫面。
第三類是「泥瓦工和髒髒標籤」。泥瓦工的意思就是,先把全屏人為分成幾個瓦片,然後每次就檢測這幾個部分中的哪些需要被重繪,可以說是使用者介面設計師(ui)的好朋友。髒髒標籤也是同樣的思路,只是這次的瓦片不是事先固定的,可以是動態變化的物體本身,這種方法直觀上就比較適合遊戲世界的物體比較有規則,尤其是平面2d的。
總的來說,緩衝載入到處都是優化問題。不過,有句話說的是:優化遊戲**可能會引來麻煩。雖然離屏緩衝、緩衝載入這兩個部分跟核心的遊戲邏輯已經相去甚遠,但不可否認的他們也是一套遊戲**的一部分,還是要慎重。
文/良宵聽雨。授權「遊戲夜讀」發表。
遊戲夜讀 如何製作遊戲?
最懶的辦法就是folk,弄一備份,遊戲就製作完成了。那麼問題來了,最初的遊戲是怎麼製作的呢?那就不得不說回到遊戲本身的特點。不論是電子遊戲,又叫電玩,還是非電子的,比如線下桌遊,遊戲的核心都是一套規則。外加服務。即使是藝術作用的遊戲,也會提供說明吧?商業目的的遊戲,如果不提供運營服務,就沒有辦法讓玩...
遊戲夜讀 如何管理公司?
一家奔小康的遊戲公司,往往五臟俱全,業務團隊能幹,此外專案管理團隊更是強大。業務團隊的能力,不管是什麼行業都是如此,一家企業的現金流基本就是靠主營業務收入。但僅僅靠業務能力積累財富,並不能成就一家遊戲公司長久小康,重視專案管理是遊戲公司高管的一門藝術,是公司財務戰略中的點金術,更是企業組合拳的核心競...
遊戲夜讀 如何避免乏味?兩則
遊戲好玩,需要有變化,且張弛有度。本質上,是可控 不可控。關鍵點,是要因人而異 因地制宜。因為市場在變,遊戲內容在迭代,玩家有個性,有不同的風險偏好,更是每天心情不定。這裡談的遊戲還是設計給人類玩的,存在哲學來說,要吸引了人類的注意力才有價值。但是,人類的生活可以很精彩,發布的遊戲數量越來越多,很多...