SHA256
66 lines
2.4 KiB
C#
66 lines
2.4 KiB
C#
using ADOFAIRenderer.UI;
|
|
using UnityEngine;
|
|
|
|
namespace ADOFAIRenderer.Core
|
|
{
|
|
[DefaultExecutionOrder(int.MinValue)]
|
|
internal class FirstUpdateHook : MonoBehaviour
|
|
{
|
|
private bool _checkedFFmpeg;
|
|
private bool _checkedNvidiaDriver;
|
|
|
|
private void Update()
|
|
{
|
|
if (!_checkedFFmpeg)
|
|
{
|
|
if (FFmpegDownloadUI.Instance) return;
|
|
|
|
if (!FFmpegDownloadUI.CheckFFmpegExists())
|
|
{
|
|
FFmpegDownloadUI.ShowDownloadUI();
|
|
return;
|
|
}
|
|
_checkedFFmpeg = true;
|
|
}
|
|
|
|
if (!_checkedNvidiaDriver)
|
|
{
|
|
if (CommonWarningDialogUI.Instance) return;
|
|
|
|
_checkedNvidiaDriver = true;
|
|
CheckNvidiaDriverWarning();
|
|
}
|
|
|
|
if (RenderManager.Instance)
|
|
{
|
|
RenderManager.Instance.OnPreRenderUpdate();
|
|
}
|
|
}
|
|
|
|
private void CheckNvidiaDriverWarning()
|
|
{
|
|
var driverVer = Util.GPUUtil.GetNvidiaDriverVersion();
|
|
if (driverVer is null or >= 610.00f) return;
|
|
|
|
var currentVersion = driverVer.Value.ToString("F2");
|
|
|
|
CommonWarningDialogUI.ShowDialog(
|
|
"NVIDIA 그래픽 드라이버 업데이트 권장",
|
|
$"현재 감지된 NVIDIA 그래픽 드라이버 버전: <b><color=#ff5555>{currentVersion}</color></b>\n\n하드웨어 가속(NVENC)을 사용하여 영상을 렌더링하려면 드라이버 버전 <b><color=#55ff55>610.00 이상</color></b>이 필요합니다.\n\n드라이버 버전이 낮으면 인코딩이 실패하거나 소프트웨어(CPU) 인코딩으로 대체되어 렌더링이 매우 느려집니다. 드라이버 업데이트를 진행해 주시기 바랍니다.",
|
|
new DialogButton("드라이버 업데이트", () =>
|
|
{
|
|
Application.OpenURL("https://www.nvidia.com/Download/index.aspx");
|
|
Application.Quit();
|
|
}, new Color(0.0f, 0.8f, 1.0f, 1.0f)),
|
|
new DialogButton("기능 비활성화", () =>
|
|
{
|
|
RenderMod.IsFeatureDisabled = true;
|
|
}),
|
|
new DialogButton("이번만 그냥 진행", () =>
|
|
{
|
|
// 아무 동작 안 함
|
|
})
|
|
);
|
|
}
|
|
}
|
|
} |