전체 글24 튜닝 - 물리(Physics) 물리연산은 굉장히 많이쓰이고 연산량이 많은 부분이다.그래서 더욱 더 최적화적으로 중요한 부분인데 관련해서 한번 정리를 해보자 1. 물리연산 켜기/끄기==========================================================================● Unity는 물리 연산 관련 컴포넌트가 없더라도 물리엔진에 의한 물리 연산 처리는 매 프레임마다 반드시 실행된다. 따라서 게임 내에서 물리 연산이 필요하지 않은 경우 물리 엔진을 꺼두는 것이 좋다. 물리 엔진의 처리는 Physics.autoSimulation 에 값을 설정하여 켜고 끌 수 있다. 예를 들어, 게임 내에서만 물리 연산을 사용하고 그 외에는 물리 연산을 사용하지 않는다면, 게임 내에서만 이 값을 tru.. 2025. 6. 15. EDM4U - Depenencies.xml 종속성 관리(Android/ios) 최근 iOS 빌드를 진행하던 중, 새로운 패키지를 추가하면서 의존성 충돌 이슈로 상당한 시간을 낭비했습니다.당시 사무실에는 혼자 남아 있었기에 문제를 해결하기 위해 지속적인 서칭을 통해 시간내에 완료하였는데그 과정에서 미처 깨닫지 못했던 부분들을 정리했다. ========================================================================== ● EDM(External Dependency Manager for Unity). ◎ 하단의 목록들을 편리하게 사용하기 위한 툴이다. | 항목 | | --------------------------------------------.. 2025. 6. 7. 인덱스 인덱스========================================================== ▶ 테이블에 대한 동작의 속도를 높이는 자료 구조 ● 특정 열의 행을 빠르게 찾는데 사용된다. ◎SQL 서버가 더욱 좋은 성능을 내도록하는 데이터베이스 튜닝 중 하나이다. ▶ 장점 ● 검색속도 상향 -> 쿼리 부하 감소 -> 시스템 전체 성능 향상 ▶ 단점 ● 자주 반복되는 컬럼에 사용시 풀 스캐닝보다 비효율적이다. ◎ 반복될 때마다 index를 조회하는 오버헤드 발생.● DB 크기의 약 10% 정도의 추가 공간이 필요하다.● DML등 데이터 변경 작업이 자주 일어나는 경우 성능이 오히려 떨어진다. 인덱스의 내부 작동=====================================.. 2025. 6. 6. 에셋 관련 최적화 텍스쳐================================================== 임포트 설정 : 1. Read/Write 이 옵션은 기본적으로 비활성화되어 있다.비활성화 상태에서는 GPU 메모리에만 텍스처가 전개되고 활성화하면 GPU 메모리 뿐만 아니라 메인 메모리에도 복사가 되므로 소비량이 2배로 증가한다. 2. Generate Mip Maps 밉맵 설정을 활성화하면 텍스처의 메모리 사용량이 1.3배 증가한다.이 설정은 일반적으로 3D 상의 오브젝트에 대해 설정하는 것이 일반적이고 먼 거리에 있는 오브젝트에 대해 흔들림 완화및 텍스터 전송량 감소를 목적으로 설정한다. 3.AnisoLevel AnisoLevel은 오브젝트를 얕은 각도로 그릴 때 텍스처가 흐릿하게 보이지 않도록 하는 기능.. 2025. 6. 1. 튜닝 기본 상식(2) 유니티의 작동원리 1.바이너리와 런타임=========================================================================C#과 런타임========================================================================= 유니티로 게임을 만들 때, 개발자는 C#으로 동작을 프로그래밍한다.C#은 컴파일러형 언어라 유니티에서 게임을 개발할 때 수시로 컴파일이 실행된다.여기서 중요한 점이 있는데 C#은 전통적인 C 언어 등과 다른 점은 컴파일하면 기계에서 단독으로 실행되는 기계어가 아니라 .NET의 중간 언어 (Intermediate Language)IL로 컴파일이 된다.IL로 변환된 실행 코드는 단독으로 실행할 수 .. 2025. 5. 17. 최적화<튜닝>의 기본상식1 게임 만들다 보면 "어? 프레임이 왜 떨어지지?", "왜 이 장면에서 렉이 걸리지?" 같은 순간이 온다.그럴 때 보통은 "감"으로 고쳐보려다가 더 망하거나, 아니면 그냥 넘어가는 경우가 더 많았던 것 같다.그래서 이번엔 정말 기초부터 메모리, SoC 같은 것들을 하나씩 정리해가면서, 작성을 해본다. 1.하드웨어1.1 Soc: 하드웨어의 대표적인 장치로는 연산을 위한 CPU 그래픽 연산을 위한 GPU 음성 및 영상 디지털 데이터를 처리하는 DSP 등을 들 수 있다.대부분 데스크톱 PC는 개별적으로 가지고 있으나 모바일 기기의 특성상 소형화가 필수이다.이렇게 위의 3개를 조합하여 만든 장치를 SOC(System_on_a_chip), 즉 SoC 라고 부른다.1.2 아이폰, 안드로이드의 SoC: 스마트폰은 기.. 2025. 5. 11. 유니티 프로젝트 튜닝 전, 중 주의사항 최적화 게임 개발을 비롯한 다양한 소프트웨어 개발에서 **최적화(Optimization)**는 필수적인 요소다.(튜닝 이라고 말하기도 한다.)혹시 프레임이 끊기고, 한 시간에 여러 번 크래시가 발생하는 앱을 계속 실행하고 싶은가?당연히 아니다.하지만 개발 중 최적화를 소홀히 한다면, 이런 예시가 자신이 만든 제품에서 현실이 될 수 있다.그래서 이 글에서는 기본적으로 어떤 부분을 고려해야 하는지를 정리해보려 한다. 0. 마음가짐0.1 튜닝은 추측이 아닌 원인 파악성능 튜닝은 정확한 원인 분석이 핵심이다.절대 추측으로 접근하지 말고, 반드시 원인을 확인하고 작업할 것.0.2 튜닝 전후 비교는 필수튜닝을 했으면 반드시 튜닝 전과 후를 프로파일러로 비교해야 한다.성능이 좋아졌다고 생각했지만, 다른 부분의 부하로.. 2025. 4. 6. 스크립팅 백엔드 최근에 회사에서 서드파티를 붙혀보면서 빌드 관련한 프로퍼티를 많이 보게 되었다.그중에 궁금했던게 스크립팅 백엔드 였는데 해당 정보를 관련해서 정리를 한번 해본다. 스크립팅 백엔드란?C# 혹은 스크립트 언어로 작성한 로직들을 실행가능한 형태로 변환하는 컴파일러를 얘기한다. Mono VS IL2CPP Mono JIT 컴파일 방식을 채택한 유니티의 기본 스크립트 백엔드이다.닷넷 호환 언어 컴파일 과정과 유사하고프로그램이 실행되는 시점에 필요한 코드를 동적으로 네이티브 코드로 번역하기 때문에 초기 실행속도는 니리지만 반복적으로 실행되는 코드는 최적화되어 성능이 향상된다.에디터에서 플레이 모드로 실행할때 기본적으로 사용된다. IL2CPP AOT 컴파일 방식을 채택한 유니티의 스크립팅 백엔드이다.실행 이전에 네이티.. 2025. 3. 30. A*알고리즘 A*알고리즘이란?휴리스틱 알고리즘은 복잡한 문제를 빠르게 해결하기 위한 근사적 방법 중 하나로, 특히 경로 탐색 분야에서 자주 사용됩니다. 대표적인 알고리즘이 바로 A* (A-Star) 알고리즘입니다. gCostGiven Cost시작점부터 현재까지 실제 비용hCostHeuristic Cost현재부터 목적지까지 예상 비용fCostFinal Cost / Total Cost총 예상 비용 (g + h) 1. A* 알고리즘이란?A* 알고리즘은 경로를 탐색할 때 단순히 가까운 곳부터 탐색하는 것이 아니라,현재 위치에서 목적지까지 얼마나 효율적으로 갈 수 있을지를 예측하며 움직이는 알고리즘입니다.이 과정에서 사용하는 추정값이 바로 휴리스틱(Heuristic) 입니다.2. 핵심 용어 정리gCost: 출발지에서 현재 노.. 2025. 3. 24. 길찾기 알고리즘 DFS,BFS 해당 기능을 찾아보게 된 이유다음달부터 진행할 사이드 프로젝트에서 사용할 가능성이 높은길찾기 알고리즘(Pathfinding)에 대해 미리 정리해두는 포스트입니다.초기 개발 시간 단축을 위해 정리해봤습니다. DFSDepth_First_Search(깊이 우선 탐색)은그래프나 트리에서 한방향으로 끝까지 들어갔다가 막히면 되돌아오는 탐색 알고리즘이다. *미로에서 한 방향으로 계속 가다가 막히면 다시 돌아와 다른 길을 찾는 방식 *백트래킹 개념과 잘 어울리며, 전체 경로 탐색에 적합하다. DFS의 특징1. 스택 기반의 자료구조2. 최단 거리 보장이 안된다.3.퍼즐, 미로 찾기, 조합/순열, 영역 탐색4. 구현이 간단하여 메모리 사용이 적고 백트래킹에 유리하다5. 무한루프에 빠질 위험이 있다. using Syste.. 2025. 3. 23. 이전 1 2 3 다음