2014-01-07 39 views
1

我現在看到很多應用程序(Android),而不是選擇屏幕來選擇圖形級別,它只是自動執行它,我知道這是一個很大的問題,但我該怎麼做對於我自己的應用程序?我可以查看哪些鏈接/資源?自動質量設置

回答

2

下面是從Bootcamp demoGameQualitySettings.js摘錄,解決動態質量設置:

function AutoChooseQualityLevel() 
{ 
    var shaderLevel = SystemInfo.graphicsShaderLevel; 
    var fillrate = SystemInfo.graphicsPixelFillrate; 
    var vram = SystemInfo.graphicsMemorySize; 
    var cpus = SystemInfo.processorCount; 
    if (fillrate < 0) 
    { 
     if (shaderLevel < 10) 
      fillrate = 1000; 
     else if (shaderLevel < 20) 
      fillrate = 1300; 
     else if (shaderLevel < 30) 
      fillrate = 2000; 
     else 
      fillrate = 3000; 
     if (cpus >= 6) 
      fillrate *= 3; 
     else if (cpus >= 3) 
      fillrate *= 2; 
     if (vram >= 512) 
      fillrate *= 2; 
     else if (vram <= 128) 
      fillrate /= 2; 
    } 

    var resx = Screen.width; 
    var resy = Screen.height; 
    var fillneed : float = (resx*resy + 400*300) * (30.0/1000000.0); 
    var levelmult : float[] = [5.0, 30.0, 80.0, 130.0, 200.0, 320.0]; 

    var level = 0; 
    while (level < QualityLevel.Fantastic && fillrate > fillneed * levelmult[level+1]) 
     ++level; 

    //print (String.Format("{0}x{1} need {2} has {3} = {4} level", resx, resy, fillneed, fillrate, level)); 

    overallQuality = level; 
    UpdateAllSettings(); 
} 

這個片斷明顯缺乏原始腳本的所有功能,但發佈完整的腳本似乎矯枉過正。您可以使用QualitySettings類動態控制質量。

如果您需要設置分辨率,則會詢問similar question

+0

這些腳本看起來有些複雜:/,但它似乎工作從我的理解,感謝參考,我會接受它,後來我可能會與它合作 – MadJohny

0

我不知道你的意思,但是這可能是你想要什麼Link