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