본문 바로가기
728x90
반응형

분류 전체보기175

유니티 렌더링 최적화 렌더링이란3D 씬의 데이터(오브젝트, 조명, 카메라 등)를 계산하여 2D 화면에 픽셀로 출력하는 전체 과정을 의미한다. 유니티에서 렌더링은 매 프레임마다 반복되며, CPU와 GPU가 역할을 분담하여 처리한다. CPU와 GPU의 역할 분담CPU : 씬 데이터 준비, Render State 설정, Draw Call 호출, 드라이버 명령 전달GPU : 버텍스 처리, 래스터화, 픽셀 셰이딩, 최종 화면 출력 렌더링 파이프라인 흐름CPU와 GPU 사이에서 매 프레임 다음 흐름이 반복된다.- Render State 설정 : 버퍼 바인딩, 셰이더 설정, 텍스처 설정 등 GPU가 그리기 위한 상태를 준비- Draw Call 호출 : CPU가 그래픽 API를 통해 화면을 그려라는 명령을 내림- 드라이버 번역 : 드라이버.. 2026. 3. 12.
드로우 콜에 대해서 드로우 콜이란?CPU만으로 그래픽을 그리던 시절이 있었다. 초기 PC에서는 GPU가 없었기 때문에 모든 렌더링을 CPU가 직접 처리하였다.(폴리곤, 픽셀, 텍스처, 조명 등의 작업 대표적으로 DOOM이나 Quake 초기 버전) 단순 처리를 넘어서 게임의 발전에 따라 더 많은 그래픽 작업이 요구되기 시작했고,CPU에서만 이 작업들을 처리하기에는 부하가 매우 커지기 시작했다. CPU와 GPU그런 CPU의 부하를 대신하기 위해 GPU가 등장했다.CPU가 복잡한 논리 연산을 순차적으로 빠르게 처리하는 소수의 지휘관이라면 GPU는 단순하지만 엄청난 양의 계산을 동시에 처리하는 부대급 작업원으로 각자의 역할을 분담하기 시작했다. 이렇게 분담한 역할을 자세히 나열하면 다음과 같다. CPU -> 무엇을 그릴지 결정-.. 2026. 3. 12.
O(n^2) - 이차 시간 팩토리얼, 지수시간에 비해 빠르지만 입력 크기가 커질수록 처리 시간이 급격히 증가하는 알고리즘 범주에 속한다.이 복잡도는 이중 반복문이 포함된 구조에서 자주 나타나며, 작은 입력에선 문제없지만, 큰 입력에서는 비효율적인 성능을 보인다.대표적으로 정렬 알고리즘 중 버블 정렬, 삽입 정렬, 선택 정렬이 이에 해당하며, 브루트포스 방식의 문제 해결에서도 볼 수 있다. 버블 정렬오름차순 기준 배열의 인접한 두 원소를 검사하고 정렬한다. 길이가 n인 배열이 있다.전체 루프 i는 첫 번째부터 마지막 요소 앞 n-1까지 진행한다.내부 루프 j는 인접한 두 요소를 비교하고 더 큰 수인 경우 교환을 진행하여 n - 1 - i까지 진행한다.루프마다 가장 큰 요소가 순서대로 끝에 배치된다. def bubble_sort(ar.. 2025. 7. 12.
O(2^n) - 지수 시간 O(2^n) - 지수 시간O(n!) 시간 복잡도처럼, 지수 시간 복잡도 또한 입력 크기가 조금만 커져도 실행 시간이 급격히 증가하는 대표적인 비효율적인 복잡도이다. 특히, 모든 가능한 경우의 수를 탐색해야 하는 문제에서 자주 나타난다. 부분 집합 생성집합 [1, 2, 3]이 있을 때, 모든 부분 집합의 개수는 2^3 = 8개이다. def subsets(arr): if not arr: return [[]] first = arr[0] rest_subsets = subsets(arr[1:]) # 기존 부분집합들 + first를 포함한 새로운 부분집합들 return rest_subsets + [[first] + subset for subset in rest_subsets].. 2025. 7. 12.
NP - TSP 외판원 문제(TSP)NP는 정답을 빠르게 검증할 수 있는 문제 집합이다. 즉, 어떤 해답이 주어졌을 때, 그것이 맞는지 다항 시간 내에 확인 가능한 문제들을 말한다. NP-complete는 NP 문제 중 가장 어려운 문제들로, NP에 속하면서 모든 NP 문제로부터 다항 시간 내에 환원이 가능한 문제이다. NP-hard는 모든 NP-complete 이상의 난이도를 포함하는 상위 개념이다. 이 집합은 NP를 포함하지 않을 수도 있으며, 검증조차 다항 시간 내에 불가능할 수 있는 문제까지 포함한다. P ⊆ NP NP-complete ⊆ NP NP-complete ⊆ NP-hard TSP는 하나의 경로가 주어졌을 때, 그 경로가 총얼마의 비용을 갖는지 계산하는 데는 O(n)으로 정답을 빠르게 검.. 2025. 7. 11.
P, NP Polynomial time다항 시간다항 시간이란 알고리즘의 실행 시간이 입력 크기 n에 대한 다항식으로 표현되는 경우를 말합니다. 이는 O(n^k ) (k는 양의 상수)와 같은 형태로 나타나는 시간 복잡도를 의미한다. O(n), O(n²), O(n³ + n² + 3), O(log n), O(1) 등은 모두 다항 시간으로 분류되는데 O(log n), O(1)의 경우 엄밀히 말하면 다항식은 아니지만 다항 시간보다 훨씬 효율적이므로 넓은 의미에서 다항 시간 범주에 포함된다. 반면 O(2ⁿ), O(n!)과 같은 복잡도는 다항 n이 커질수록 기하급수적으로 실행시간이 폭증하여 다항 시간이 아니며, 이런 알고리즘은 대개 비실용적으로 간주한다. 어떤 문제에 대해 다항 시간 내에 항상 정답을 찾을 수 있는 알고리즘이 .. 2025. 7. 8.
728x90
반응형