0
我有兩個.dae文件,一個擁有一百萬張臉,第二個擁有兩千萬張臉。 我使用ColladaLoader導入它們。 問題是,2000萬人面臨以30fps運行,100萬人面臨以2fps運行。 那是怎麼回事?我該如何解決這個問題?三千萬面孔渲染性能collada文件
我有兩個.dae文件,一個擁有一百萬張臉,第二個擁有兩千萬張臉。 我使用ColladaLoader導入它們。 問題是,2000萬人面臨以30fps運行,100萬人面臨以2fps運行。 那是怎麼回事?我該如何解決這個問題?三千萬面孔渲染性能collada文件
您必須檢查這些模型中有多少個網格。性能在很大程度上取決於模型中繪製調用(網格)的數量,因爲更多的繪製調用意味着更多的數據傳遞給GPU。
舉個例子,我有一個350萬張臉的網格,它有1000多個網格。我得到了20幀/秒。但是當我將所有網格合併到單個網格時,我得到了60 fps。
此問題的解決方案是將網格的幾何圖形合併到一個網格中,並使用該幾何圖形構建單個網格。對於BufferGeometry
,可以合併所有的頂點數組,顏色數組和常規數組。對於合併索引數組,您必須爲每個索引值添加基本頂點。
這不僅是決定表演的面孔的數量。你可以提供一個代碼示例嗎?其他因素可能是:網格的數量,材料的數量和類型,實際渲染的面的數量等等。 –