02
04

 

유니티 에디터에서 Game뷰 플레이 테스트하면 프레임이 60이상으로 올라가질 않았다.

덕분에 구글링해서 3일만에 겨우 해결했다.

 

 


Application.targetFrameRate 수정

아무 코드에서 Start()나 Awake() 부분에 

Application.targetFrameRate = -1; 이런식으로 한 줄만 적어주면 됩니다.

참고로 -1는 최대로 낼 수 있는것이므로 성능상 적당히 300이나 원하는 프레임으로 설정해줍시다.

 

예시)

 

 


Vsync 끄기 

Edit > Project Settings > Quality > Vsync Count > Don't Sync

VSync는 게임 프레임 속도를 모니터의 새로 고침 빈도(기존 60hz)에 동기화합니다. 

즉, 목표 프레임 속도와 관계없이 해당 fps(초당 프레임)로 제한됩니다.

그냥 꺼버립시다.

 

 


Graphic API 옵션 변경

옛날 노트북이나 오래된 하드웨어라면 그래픽 API 설정이 안맞을 수 있습니다.

설정 탭에 가서 API를 바꿉시다.

Preferences > Player > Other settings에 가시면

여러 Auto Graphics API 설정이 켜져있는데 여기서 자신의 운영체제에 맞는걸로 체크 해제해주면 됩니다.

체크해제 한 뒤에 알맞는 API를 추가해주시면 됩니다.

예시)

 

 


Reset All Layouts

유니티 자체가 버그가 하도 많다보니 레이아웃 때문에 프레임이 낮아질 수도 있습니다.

유니티 에디터에서 오른쪽 위를 보면 Layout탭이 있다. 이걸 누른 후 Reset All Layouts 시켜줍시다.

예시)

 

 


Game 뷰 VSync 끄기

최신 유니티 버전에 새로 추가된 기능입니다만 Game 뷰 상단에 보면 화질 설정에서 껏다킬 수 있습니다.

이걸 켰다가 까먹으면 프레임이 고정이 되어있을 수 있습니다.

 

 

 


탭 하나만 열어둡시다

유니티가 원래 Scene 뷰랑 Game 뷰 동시에 열면 둘 다 렌더링하느라 렉이 심합니다.

탭 하나를 닫거나 숨겨두면 렉이 덜합니다.

 

예시)

 

 


기즈모 끄기

기즈모를 끄면 살짝 더 프레임이 좋아집니다.

Gmae 뷰 > 오른쪽 위 Gizmos

예시)

 

 


노트북 응용프로그램 설정

 

제 노트북은 Omen Gaming Hub에서 그래픽 & 팬 속도 조절 가능한데 이런 프로그램의 설정을 만져보세요

 


Nvidia 제어판 (2024.2.04일 추가)

노트북에 외장 그래픽이 있을경우 Nividia 설정이 자동으로 세팅되어있을꺼에요.

 

 

사진과 같이 3D 설정 관리 > 프로그램 설정 > 최대 프레임 속도를 끄시면 됩니다.

 

저는 이 방법으로 드디어 족쇄가 풀렸습니다...


만약 위의 방법이 다 안된다면 윈도우 기본 설정을 건들여 봅시다.

 

Window 10 기준

시스템 > 디스플레이 > 데스크톱 앱 > 유니티 > 옵션  > 고성능

 

Window 11 기준

시스템 > 디스플레이 > 그래픽 > 유니티 > 옵션 > 고성능

 
 
 
 
 
 
 
 
 
 
 

 

이 글을 읽으신분들은 꼭 프레임 고통에서 해방되시길...

 

관련 자료
https://blog.unity.com/engine-platform/precise-framerates-in-unity

 

Precise frame rates in Unity | Unity Blog

A sample proof-of-concept Unity project exploring the above topic is available at our GitHub project page. Specifically, precise control of frame rate using the WaitForEndFrame coroutine is given in ForceRenderRate.cs. A more complex example which emulates

blog.unity.com

https://docs.unity3d.com/ScriptReference/Application-targetFrameRate.html

 

Unity - Scripting API: Application.targetFrameRate

An integer > 0, or special value -1 (default). Desktop and Web: If QualitySettings.vSyncCount is set to 0, then Application.targetFrameRate chooses a target frame rate for the game. If vSyncCount != 0, then targetFrameRate is ignored. Android and iOS: Mobi

docs.unity3d.com

 

 

'유니티 > 유니티 관련 지식' 카테고리의 다른 글

유니티 허브 템플릿 소개  (0) 2024.06.02
유니티 레이아웃 불러오는 방법  (0) 2024.04.09
유니티 깃 관리  (0) 2023.12.26
유니티 Bootstrap 씬 구현  (0) 2023.05.19
COMMENT