Unity FPS突然下降

时间:2019-02-07 21:47:57

标签: android ios unity3d

我正在使用Unity开发一个简单的3D手机游戏。我的目标是不使用vsync的30 FPS。我的游戏在所有iOS设备上都运行良好,没有发热和节流现象,但FPS下降很奇怪。 FPS突然降至20,几秒钟后又降至30。每10到20秒就会发生一次这种奇怪的事情,这绝对是很奇怪的,因为我的分析器显示了平滑的渲染状态。谁能帮我吗?

2 个答案:

答案 0 :(得分:1)

我似乎还记得当统一使用它的自动混合功能时出现的类似问题。尝试将其关闭,看看是否发现差异

答案 1 :(得分:0)

经过短暂的研究,我找到了解决方案!当GPU以全屏分辨率渲染时,会发生此FPS下降。所以我降低了手机的屏幕分辨率。

var defaultData = 'urlto.csv';
var urlInput = document.getElementById('fetchURL');
var pollingCheckbox = document.getElementById('enablePolling');
var pollingInput = document.getElementById('pollingTime');

function createChart() {
  Highcharts.chart('closed5', {
    chart: {
      type: 'area',
      zoomType: 'x'
    },
    plotOptions: {
      series: {
        dataLabels: {
          enabled: true,
          style: {},
          formatter: function() {
            if (this.y === this.series.dataMax) {
              return this.y;
            }
          }
        }
      }
    },
    title: {
      text: 'Chart for charting'
    },
    data: {
      csvURL: urlInput.value,
      enablePolling: pollingCheckbox.checked === true,
      dataRefreshRate: parseInt(pollingInput.value, 10)
    }
  });

  if (pollingInput.value < 1 || !pollingInput.value) {
    pollingInput.value = 1;
  }
}

urlInput.value = defaultData;

// We recreate instead of using chart update to make sure the loaded CSV
// and such is completely gone.
pollingCheckbox.onchange = urlInput.onchange = pollingInput.onchange = createChart;

// Create the chart
createChart();

现在我的游戏可以在所有iOS和Android设备上完美运行,即使经过很长时间也不会节流和发热。