2014-01-07 41 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