From f833b6d693e3e6c178c4c015221b64fbdf5aa2d0 Mon Sep 17 00:00:00 2001
From: client_Wu Xijin <364452445@qq.com>
Date: 星期五, 31 八月 2018 09:55:59 +0800
Subject: [PATCH] 1772 手机运行游戏时过热 针对某些特别高分辨率的屏幕,比如2k屏,4k屏,默认运行帧率降低为30帧。
---
Core/GameEngine/Login/Launch.cs | 2
System/SystemSetting/SystemSetting.cs | 51 +++++++++++++++----------
System/SystemSetting/SystemSetWin.cs | 14 +++---
3 files changed, 39 insertions(+), 28 deletions(-)
diff --git a/Core/GameEngine/Login/Launch.cs b/Core/GameEngine/Login/Launch.cs
index 044551c..24a4d06 100644
--- a/Core/GameEngine/Login/Launch.cs
+++ b/Core/GameEngine/Login/Launch.cs
@@ -45,7 +45,7 @@
SoundPlayer.CreateSoundPlayer();
SoundPlayer.Instance.PlayLoginMusic();
SystemSetting.Instance.SetSoundVolume(SystemSetting.Instance.GetSoundVolume());
- SystemSetting.Instance.SetGameFrame(SystemSetting.Instance.GetGameFrame());
+ SystemSetting.Instance.SetGameFps(SystemSetting.Instance.GetGameFps());
SDKUtility.Instance.Init();
GameObjectPoolManager.Instance.gameObject.name = "GameObjectPool";
diff --git a/System/SystemSetting/SystemSetWin.cs b/System/SystemSetting/SystemSetWin.cs
index b50a600..37d4d9d 100644
--- a/System/SystemSetting/SystemSetWin.cs
+++ b/System/SystemSetting/SystemSetWin.cs
@@ -82,7 +82,7 @@
UpdateToggleSkin(m_OtherPlayer);
UpdateToggleSkin(m_Monster);
- m_SixtyFrame.isOn = SystemSetting.Instance.GetGameFrame() == GameFrame.FullFrame;
+ m_SixtyFrame.isOn = SystemSetting.Instance.GetGameFps() == GameFps.Full;
var serverName = ServerListCenter.Instance.GetServerData(ServerListCenter.Instance.currentServer.region_flag).name;
var playerAccount = PlayerDatas.Instance.baseData.AccID.Split('@');
@@ -182,7 +182,7 @@
SystemSetting.Instance.SetQualityLevel(GameQuality.Low);
if (isInited)
{
- SystemSetting.Instance.SetGameFrame(GameFrame.HalfFrame);
+ SystemSetting.Instance.SetGameFps(GameFps.Half);
SystemSetting.Instance.SetPlayerSyncCount(5);
}
}
@@ -192,21 +192,21 @@
private void SwitchGameFrame()
{
- var gameFrame = SystemSetting.Instance.GetGameFrame();
+ var gameFrame = SystemSetting.Instance.GetGameFps();
- if (gameFrame==GameFrame.HalfFrame)
+ if (gameFrame == GameFps.Half)
{
- SystemSetting.Instance.SetGameFrame(GameFrame.FullFrame);
+ SystemSetting.Instance.SetGameFps(GameFps.Full);
}
else
{
- SystemSetting.Instance.SetGameFrame(GameFrame.HalfFrame);
+ SystemSetting.Instance.SetGameFps(GameFps.Half);
}
}
private void OnSwitchGameFrame()
{
- m_SixtyFrame.isOn = SystemSetting.Instance.GetGameFrame() == GameFrame.FullFrame;
+ m_SixtyFrame.isOn = SystemSetting.Instance.GetGameFps() == GameFps.Full;
}
private void OnShowOrHideOtherPlayers(bool _value)
diff --git a/System/SystemSetting/SystemSetting.cs b/System/SystemSetting/SystemSetting.cs
index bf704ad..8c82a35 100644
--- a/System/SystemSetting/SystemSetting.cs
+++ b/System/SystemSetting/SystemSetting.cs
@@ -11,7 +11,6 @@
const string QUALITY_LEVEL_KEY = "GameQualityLevel";
const string SOUND_VOLUME_KEY = "SoundRatioKey"; //闊充箰
const string SOUND_EFFECT_KEY = "SoundEffect"; //闊虫晥
- const string FPS_KEY = "FPSKey";
const string GAMEFRAME_KEY = "GameFrameSetting";//鍨傜洿鍚屾鐜�
public Dictionary<SystemSwitch, bool> systemSettings = new Dictionary<SystemSwitch, bool>();
@@ -54,7 +53,7 @@
return LocalSave.GetFloat(SOUND_EFFECT_KEY, 1);
}
- public void SetGameFrame(GameFrame _frame)
+ public void SetGameFps(GameFps _frame)
{
LocalSave.SetInt(GAMEFRAME_KEY, (int)_frame);
SetFPSLimit((int)_frame);
@@ -64,9 +63,9 @@
}
}
- public GameFrame GetGameFrame()
+ public GameFps GetGameFps()
{
- return (GameFrame)LocalSave.GetInt(GAMEFRAME_KEY, (int)GameFrame.FullFrame);
+ return (GameFps)LocalSave.GetInt(GAMEFRAME_KEY, (int)GameFps.Full);
}
public void SetSystemSettingSwitch(SystemSwitch type, bool _value)
@@ -191,18 +190,18 @@
{
var defaultQuality = GameQuality.High;
-// if (DeviceUtility.cpu >= 4 && DeviceUtility.memory > 3.5f * 1024)
-// {
-// defaultQuality = GameQuality.High;
-// }
-// else if (DeviceUtility.cpu >= 4 && DeviceUtility.memory > 2.5f * 1024)
-// {
-// defaultQuality = GameQuality.Medium; ;
-// }
-// else if (DeviceUtility.cpu > 1 && DeviceUtility.memory > 1.5f * 1024)
-// {
-// defaultQuality = GameQuality.Low;
-// }
+ // if (DeviceUtility.cpu >= 4 && DeviceUtility.memory > 3.5f * 1024)
+ // {
+ // defaultQuality = GameQuality.High;
+ // }
+ // else if (DeviceUtility.cpu >= 4 && DeviceUtility.memory > 2.5f * 1024)
+ // {
+ // defaultQuality = GameQuality.Medium; ;
+ // }
+ // else if (DeviceUtility.cpu > 1 && DeviceUtility.memory > 1.5f * 1024)
+ // {
+ // defaultQuality = GameQuality.Low;
+ // }
return (GameQuality)LocalSave.GetInt(QUALITY_LEVEL_KEY, (int)defaultQuality);
}
@@ -224,7 +223,7 @@
public int GetFPSLimit()
{
- return (int)GetGameFrame();
+ return (int)GetGameFps();
}
public void LetFPSUnLimit()
@@ -236,6 +235,18 @@
{
systemSettings.Clear();
m_PlayerSyncCount = -1;
+ }
+
+ private GameFps GetRecommendFps()
+ {
+ if (Screen.width * Screen.height > (1920 * 1080 + 10000))
+ {
+ return GameFps.Half;
+ }
+ else
+ {
+ return GameFps.Full;
+ }
}
IEnumerator Co_WaitFewMinute()
@@ -266,9 +277,9 @@
High = 2,
}
-public enum GameFrame
+public enum GameFps
{
Free = -1,
- HalfFrame = 30,
- FullFrame = 60,
+ Half = 30,
+ Full = 60,
}
\ No newline at end of file
--
Gitblit v1.8.0