젠킨스를 다른 컴퓨터에 새로 추가하는 작업을 하였는데, 여러 문제가 발생해서 기록해 둡니다.


우선 젠킨스 사이트에서 다운로드 https://www.jenkins.io/  

 

Jenkins

Easy installation Jenkins is a self-contained Java-based program, ready to run out-of-the-box, with packages for Windows, Linux, macOS and other Unix-like operating systems.

www.jenkins.io

다운로드 클릭하세요.

 

뭐라고 말이 많은데 아래로 내리면 Windows가 있습니다.

 

클릭하는 순간 다운로드 됩니다.

바로 다운받고, 설치를 하시면 됩니다. (이 과정도 복잡한데.. 인터넷에 많이 있어서.. 생략...)

젠킨스를 설치하시고 난 뒤에 반드시 해야 할 유니티 관련 세팅이 있습니다.

이것들을 안 하면 빌드가 제대로 안됩니다. 이번 포스팅은 이것 때문에 작성한 것입니다.

Visual Studio와 C++ 빌드 도구 및 Windows 10 SDK가 설치되어야 합니다.

visual studio installer를 실행시킵니다.
수정을 누르시고
워크로드에는 이 두가지가 반드시 존재해야합니다.
그리고 개별 구성 요소에 Windows 10 SDK가 어떤것이든 존재해야합니다.

빌드는 실패는 했는데, 너무 많은 메시지가 있어서 뭐가 잘못되었지 한참을 찾아봤었네요.

'업무일지' 카테고리의 다른 글

업무일지 <DLSS>  (0) 2023.08.23
업무일지 <애니메이션 타임슬라이더>  (0) 2023.08.09
업무일지 <젠킨스 svn에러>  (0) 2023.08.03
업무일지 <Vulkan>  (0) 2023.08.02
업무일지 <Generate Mipmaps과 Streaming Mipmaps>  (0) 2023.07.28

svn 주소가 변경이 되어서 젠킨스도 마찬가지로 주소를 변경하였는데...

에러가남.. 

svn: E170013: Unable to connect to a repository at URL 'https://xxx.xxx.xxx:xxxx/svn/Project'
svn: E215004: No more credentials or we tried too many times.

 

젠킨스 컴퓨터에서 svn 업데이트도 잘되고 주소도 잘 변경되었는데...

계속 문제가 발생....

인터넷에서 좀 찾아보니...인증에 문제일수 있다는 내용을 찾았습니다.

탐색기 창에 %APPDATA%\Subversion\auth 을 넣고 Enter를 치면 아래 폴더가 나옵니다.

svn.simple과 svn.ssl.server 폴더 안에 내용을 모두 삭제

그리고 다시 인증을 하니 젠킨스 빌드가 정상적으로 됩니다.

 

꼭 빌드 마감날에....이런일이 발생한다눈...

우리게임에 향상을 위해서 Vulkan에 대해서 다시 한번 조사를 해보았습니다. 그리고 테스트도 진행중입니다.

Vulkan API는 2016년 초반에 출시되었으며, 이 시점부터 그래픽 카드 제조사들은 대부분의 현대 하드웨어에 Vulkan 지원을 도입하기 시작했습니다. 각 GPU 제조사(NVIDIA, AMD, Intel)별로 최초로 Vulkan을 지원하는 그래픽 카드는 다음과 같습니다.

- NVIDIA: GeForce GTX 600 시리즈부터 (Kepler 아키텍처 기반) Vulkan 지원이 도입되었습니다. 예를 들면, GeForce GTX 680이 이에 해당합니다.
- AMD: AMD의 경우, Radeon HD 7000 시리즈부터 (GCN 아키텍처 기반) Vulkan 지원이 도입되었습니다. Radeon HD 7970 등이 이에 해당합니다.
- Intel: 6th Generation Intel Core 프로세서 (Skylake 아키텍처)부터 Vulkan을 지원하는 내장 GPU를 제공하였습니다. 예를 들면, Intel HD Graphics 520이 이에 해당합니다.

위의 그래픽 카드 및 프로세서는 Vulkan 지원의 시작이나 최소 요구 사항에 해당하는 것으로, 최신 Vulkan 기능을 모두 지원하지는 않을 수 있습니다. 최신 기능을 완전히 활용하려면 업데이트된 그래픽 카드 및 드라이버를 사용해야 합니다.


Vulkan을 사용하면 일부 게임에서 Direct3D11보다 FPS가 효과적으로 향상될 수 있다고 합니다.

1. 저수준 제어: Vulkan은 저수준 그래픽 API로서 개발자가 GPU 작업에 대한 세밀한 제어를 할 수 있게 해줍니다. 이를 통해 자원 관리와 성능 최적화를 개선할 수 있습니다.

2. 멀티스레딩 최적화: Vulkan은 실행 시에 멀티 스레딩에 적합한 향상된 지원을 제공합니다. 이를 통해 멀티 코어 프로세서의 성능을 최대한 활용하여 더 나은 성능을 제공할 수 있습니다.

3. 드라이버 오버헤드 축소: Vulkan은 그래픽 드라이버의 오버헤드를 최소화하기 위해 설계되었습니다. 이를 통해 안정적이 건 효율적인 그래픽 처리 성능이 개선됩니다.

 

4. 더 작은 API: Direct3D보다 Vulkan은 더 작은 API입니다. 이것은 API 호출 및 오버헤드를 줄임으로써 빠른 렌더링을 가능하게 합니다.

 

5. 안정성: Vulkan은 안정성 면에서 DirectX보다 더 나은 성능을 제공합니다. 이는 Vulkan API의 명시성 및 안정성과 관련이 있습니다.

그러나 Vulkan이 무조건 모든 경우에서 Direct3D11보다 우수한 성능을 제공한다고 단정짓긴 어렵습니다. 성능 향상은 게임 개발자가 얼마나 Vulkan을 최적화하여 사용하는지, 그리고 실행되는 플랫폼 및 하드웨어가 어떤지에 따라 다릅니다. 적절한 호환성 및 성능을 위해 일부 게임 개발자들은 여전히 Vulkan과 Direct3D11을 동시에 지원하는 게임을 개발합니다.

결론적으로, Vulkan을 사용하면 게임에서 Direct3D11보다 FPS가 효과적으로 향상될 수 있지만, 성능에 영향을 미치는 여러 요인을 고려해야 합니다. 게임 개발자는 하드웨어 및 플랫폼, 그러한 기술의 최적화 수준을 고려하여 최상의 그래픽 API를 선택해야 합니다.

 

Vulkan은 Windows 10 이상, Linux 4.5 이상, iOS 11 이상, Android 7.0 이상에서 지원됩니다.

최근에 최적화 관련돼서 누군가 Streaming Mipmaps이 효과가 있을 거라는 이야기가 있어서 이 기능이 정확히 무엇을 하는지 다시 알아봤습니다.

예전 Generate Mipmaps과 도무지 무슨 기술적인 차이인지 영어원문을 보고 해석을 하는데 도무지 이해가 안 되더군요.

(해석이 잘 안 되었던 거 같습니다.) 적당한 예도 잘 찾지 못했습니다. 시간이 상당히 흘러서인지 이번에는 좀 더 명확하게 내용을 이해할 수 있었습니다.

 

Generate Mipmaps은 우리가 흔히 아는 멀리 있으면 텍스쳐를 작게 만들어, 눈에 피로도를 줄이는 역할을 합니다.

시각적인 품질을 높이는 중요한 역할을 한다고 할 수 있습니다. 그래서 원본 텍스쳐부터 작아진 텍스쳐까지 단계별로 메모리에 저장되어 있기 때문에 다소 메모리를 차지합니다. 텍스쳐 작아지면 렌더링 될 때 전체를 그리지 않기 때문에 렌더링에 잇점이 발생할 수 있습니다.

 

Streaming Mipmaps은 Generate Mipmaps과는 좀 다릅니다. 이 기능은 지역과 지역을 이동하는데 수많은 오브젝트가 있을 때 여기에 있는 텍스쳐들을 동적으로 불러오는 역할을 합니다.  즉, A 지역에서 B지역으로 이동 시에 A지역에 있던 텍스쳐는 더 이상 렌더링 되지 않기 때문에 삭제해 버리고, B지역의 텍스쳐를 실시간으로 로딩하는 겁니다. 카메라 거리에 따라 텍스처 해상도를 결정하고, 실행 중 필요 없는 해상도의 텍스처를 메모리에서 제거하기 때문에 GPU 리소스를 절약합니다.

그래서, 경우에 따라서는 메모리에 불러오는 과정에서 텍스쳐 품질 변동이나 로딩 지연이 발생 할 수 있다고 합니다.

(한마디로 적절한 프로젝트에 적절하게 써야 한다는 거죠.)

 

하여, Streaming Mipmaps은 엄청 큰 오픈월드가 아닌 경우 크게 효과를 보지 못할 수 있다는 게... 제가 내린 결론입니다.

 

저희 게임은 오픈형이 아니라 화면이 거의 고정형이라 크게 의미가 없는거 같더군요.(테스트 때도 유의미한 수치를 확인하지 못했습니다.)

추후에 큰 월드를 테스트할 기회가 있다면, 그때 직접 테스트 해봐야 얼마만큼 이득이 있는지를 알 수 있을거 같습니다.

 

 

 

 

 

 

'업무일지' 카테고리의 다른 글

업무일지 <젠킨스 svn에러>  (0) 2023.08.03
업무일지 <Vulkan>  (0) 2023.08.02
업무일지 <Hair>  (0) 2023.07.25
업무일지 <메모리누수>  (0) 2023.07.04
업무일지 <테스트공지>  (0) 2023.07.03

해외 모델팀에서 머리카락을 자연스럽지 못하다는 의견이 있어 R&D를 요청이 있었습니다.

모델링을 안한지 3년이 넘어서 버벅거리지만 대략적으로 한번 만들어봤습니다.

(저도 이렇게 한가닥 한가닥이 보이는 헤어는 해본 적이 없던 터라 좀 헤매긴 했습니다.)

막상 해보니 특별한 기술은 없는 거 같고, 작업자의 세심함이 필요한 거라 생각이 드는군요.

테스트를 앞두고 메모리 누수 문제가 발생하는 거 같다고 합니다.

이럴 때는 그래픽을 의심하는 경우가 많아서 적극적으로 원인을 같이 찾아봐야 합니다.

메모리 프로파일러(Memory Profiler)는 이럴 때 참 유용한 도구입니다.

같은 환경에서 게임을 실행시키고 메모리 프로파일러로 캡처를 우선합니다.

그리고, 게임을 계속 진행한 후에 다시 캡쳐를 추가하였습니다.

메모리에 문제가 있긴 합니다 Heap 메모리가 자꾸 늘어나는 걸 볼 수 있습니다.

Graphics는 약간에 변화가 있지만 그렇게 큰 영향은 없습니다. 아트 쪽 문제는 아니니 이걸 처리하는 것은 클라이언트 쪽이니 클라 쪽에서 해결해야 합니다.

 

그리고 범인은.. DontDestroyOnLoad였습니다. DontDestroyOnLoad는 항상 들고 있어야 할 데이터를 지우지 않고 처리하는 놈인데, 이 놈이 계속 뭔가를 호출하면서 쌓고 있습니다.

저야 클라가 아니므로 잘은 모르겠고, 클라쪽에 이야기를 해주니 뭔가 해법이 있는듯합니다.

잘 마무리가 되어야 할 건데...

https://www.bilibili.com/video/BV1dm4y1a7VW/?vd_source=ef601ff2b48ff3ffbb5c6c47b5a47daf 

 

《全民街篮》7.7热身测试 正式开赛_游戏资讯

1490 0 2023-06-30 11:00:00 未经作者授权,禁止转载

www.bilibili.com

공개 테스트 날짜가 정해졌네요.

 

배경에 셋팅할것이 너무 많고 무엇이 빠졌는지 모를 경우가 많아서 이를 보안할 검수 툴을 만들었습니다.

뭔가 빠지면 경고창과 함께 추가하라고 나옵니다.

 

 

'업무일지' 카테고리의 다른 글

업무일지 <Hair>  (0) 2023.07.25
업무일지 <메모리누수>  (0) 2023.07.04
업무일지 <자꾸 사라지는 메모리 프로파일>  (0) 2023.06.29
업무일지 <svn clean up>  (0) 2023.06.19
업무일지 <시스템 관리자>  (0) 2023.06.14

유니티 버전 2021.3.5f1는 알 수는 없지만, 설치된 memoryprofiler가 자꾸 사라집니다.

한참 작업하다... 어느날 보면 사라져 있습니다.

오늘도 사라졌군요. 아무래도 정식으로 들어간 버전이 아닌 실험 버전이라 그런 듯합니다.

(하지만, 유니티 개발 문서에는 2021.1 이후는 괜찮을 거라고... 거짓말쟁이...)

 

그래서 패키지 매니저에 들어가서 com.unity.memoryprofiler라고 주소를 치고 다시 다운로드 하려고하니 유니티 메뉴에 다시 활성화가 됩니다...

설치했지만... 설치안한듯.. 하지만 다시 나타나는... 매번 당황시키는군요... 하여간 버그는...

https://docs.unity3d.com/Packages/com.unity.memoryprofiler@1.0/manual/index.html

 

Memory Profiler | Memory Profiler | 1.0.0

Memory Profiler The Memory Profiler is a tool you can use to inspect the memory usage of your Unity application and the Unity Editor. The package adds a Memory Profiler window to the Unity Editor, which you can use to capture, inspect, and compare Snapshot

docs.unity3d.com

 

오늘은 종일 배경 최적화를 위한 기술적인 툴과 팁을 작성중에 있습니다.

'업무일지' 카테고리의 다른 글

업무일지 <메모리누수>  (0) 2023.07.04
업무일지 <테스트공지>  (0) 2023.07.03
업무일지 <svn clean up>  (0) 2023.06.19
업무일지 <시스템 관리자>  (0) 2023.06.14
업무일지 <배경추가>  (0) 2023.06.09

출근해 보니 주말내내 젠킨스 빌드가 실패가 되어있습니다.

알고보니... 빌드PC의 디스크가 꽉차서 빌드가 실패...

빌드PC에는 아무것도 없는데.... 왜 200기가가 가득 찼는지 알수가 없더군요.

 

svn 폴더를 보니... 20기가도 안될 용량이 100기가가 넘네요...ㅎ

svn을 계속 커밋만 하다보니 svn 히든 파일에 계속 누적이 되고 있었나 봅니다.

svn clean up을 실행하니, 용량이 100기가 20기가로 변경되는군요...

 

종종 svn clean up 작업을 해줘야겠네요.

'업무일지' 카테고리의 다른 글

업무일지 <테스트공지>  (0) 2023.07.03
업무일지 <자꾸 사라지는 메모리 프로파일>  (0) 2023.06.29
업무일지 <시스템 관리자>  (0) 2023.06.14
업무일지 <배경추가>  (0) 2023.06.09
업무일지 <Shader Changer>  (0) 2023.05.25

애니메이션 팀에서 최종 파일을 관리하는데, 다양한 작업들이 산적해있습니다.

애니메이터들의 주 업무와 크게 관련이 없는 다양한 컴포넌트 추가 작업들이 필요한데, 이것이 애니메이터들이 일상적으로 수행하는 작업이 아니라 보니, 종종 실수로 놓치는 경우가 있습니다.

(초반에는 제가 직접 처리하고 있었습니다. 헌데, 애니메이션 팀의 업무 효율을 위해 이 업무를 위임 하였는데, 놓치는 부분이 생기는군요.)

이 문제를 해결하기 위해 유니티 에디터에 추가 기능을 만들었습니다.

프리팹을 선택한 후 버튼을 클릭하면 필요한 컴포넌트가 자동으로 추가되도록 설정했습니다.

이 새로운 기능으로 앞으로는 이와 관련된 에러 발생이 크게 줄어들 것으로 기대하고 있습니다.