728x90 반응형 Computer15 드로우 콜에 대해서 드로우 콜이란?CPU만으로 그래픽을 그리던 시절이 있었다. 초기 PC에서는 GPU가 없었기 때문에 모든 렌더링을 CPU가 직접 처리하였다.(폴리곤, 픽셀, 텍스처, 조명 등의 작업 대표적으로 DOOM이나 Quake 초기 버전) 단순 처리를 넘어서 게임의 발전에 따라 더 많은 그래픽 작업이 요구되기 시작했고,CPU에서만 이 작업들을 처리하기에는 부하가 매우 커지기 시작했다. CPU와 GPU그런 CPU의 부하를 대신하기 위해 GPU가 등장했다.CPU가 복잡한 논리 연산을 순차적으로 빠르게 처리하는 소수의 지휘관이라면 GPU는 단순하지만 엄청난 양의 계산을 동시에 처리하는 부대급 작업원으로 각자의 역할을 분담하기 시작했다. 이렇게 분담한 역할을 자세히 나열하면 다음과 같다. CPU -> 무엇을 그릴지 결정-.. 2026. 3. 12. A* Algorithm A* 알고리즘주어진 출발점에서 목표지점까지 가는 최단 경로를 찾아내는 그래프 탐색 알고리즘 중 하나이다.최단 경로를 찾는다는 공통점을 가지지만, A*는 데이크스트라에 휴리스틱(Heuristic)이라는 개념을 추가하여 효율성을 높인 알고리즘이다. 본래 A 알고리즘이라고 불렸지만 적절한 휴리스틱에 따라서 최적의 알고리즘이 되기 때문에 A* 알고리즘이라 불린다. 데이크스트라와 관계A*알고리즘은 데이크스트라 알고리즘의 확장 버전이라고 볼 수 있다. 데이크스트라에서 사용하는 시작점으로부터의 실제 거리 g(n)에 목표점까지의 예상 거리 h(n)라는 휴리스틱을 더한 값을 우선순위 기준으로 사용한다. f(n) = g(n) + h(n) g(n) : 시작점에서 현재 노드 n까지의 실제 비용h(n) : 현재 노드 n에서 목.. 2025. 5. 30. Dijkstra algorithm 데이크스트라(Dijkstra) 알고리즘데이크스트라 알고리즘은 그래프에서 꼭짓점(노드) 간의 최단 경로를 찾는 알고리즘이다.기본적으로 단일 출발점(Single-Source)에서 그래프의 다른 모든 꼭짓점까지의 최단 경로를 찾는 데 활용되며, 음의 가중치(negative weights)가 없는 그래프에서만 정확하게 동작한다. 데이크스트라 기본 형태 (선형 탐색 방식)데이크스트라 알고리즘의 초기 형태는 우선순위 큐를 사용하지 않고, 일반적인 배열 또는 리스트를 사용하여 구현되었다. 이 방식은 매 단계마다 방문하지 않은 노드 중에서 시작점으로부터의 거리가 가장 짧은 노드를 선형 탐색하여 찾아낸다. 시간 복잡도- 그래프에 V개의 노드가 있을 때, 매번 가장 짧은 노드를 찾기 위해 O(V) 시간이 소요된다.- .. 2025. 5. 30. 탐색 알고리즘 - BFS/DFS BFSBreath-First Search, 너비 우선 탐색트리 자료구조의 순회 방법으로 같은 계층의 모든 노드를 먼저 탐색하고 다음 계층을 탐색하는 방식으로 순차적으로 진행하는 방식이다. 아직 탐색하지 않은 자식 노드를 추적하고 모든 노드를 탐색하기 위해서 일반적으로 FIFO 방식인 큐를 사용한다.탐색을 시작할 때 먼저 루트 노드를 큐에 넣는다. 큐에서 가장 앞에 있는 노드를 먼저 탐색하고 그 자식 노드를 모두 큐에 넣는다. 그리고 큐에서 제거를 하면 가장 먼저 넣었던 노드가 빠지게 된다. 그리고 다시 큐의 가장 앞에 있는 노드를 탐색하고 자식을 큐에 넣고 가장 앞의 노드를 제거하는 과정을 큐가 빌 때까지 반복하면 최종적으로 모든 노드를 방문할 수 있게 된다. 이 방법을 확장하면 사이클 유무, 방향성.. 2025. 5. 29. Pathfinding Visualizer - 탐색 알고리즘 시각화 툴 탐색 알고리즘을 시각화하기 위한 웹 페이지 https://bakcoding.github.io/pathfinding-algorithm/index.html Pathfinding Visualizer bakcoding.github.io 2025. 5. 29. Loopback NAT Unity로 MMORPG를 개발하고 있을 때 발생한 일이다. 네트워크는 Mirror를 사용하였고 존 서버를 게임 서버에 띄워서 테스트를 진행하고 있었다. 에디터에서 Host로 실행했을 때 문제없이 API 통신이 성공하였지만 존 서버와 연결을 한 후에 통신을 한 경우 요청이 처리되지 않는 상황이 발생했다. 에러는 curl error 28 connection time out으로 요청이 시간 내에 처리되지 못해서 실패한 경우이다. 먼저 게임 서버와 통신을 다시 테스트하기 위해서 IP를 확인하고 방화벽의 Port 상태를 확인했지만 문제가 없었기 때문에 더욱 혼란스러웠다. 다행히 테스트용 URL를 만들고 브라우저에서 호출을 해서 API에는 문제가 없다는 것을 확인한 후에 혹시나 하는 생각에 게임 서버에 원격으로 .. 2025. 4. 7. 이전 1 2 3 다음 728x90 반응형