목록분류 전체보기 (116)
Game Tech Blog
01. PC vs 서버 구성 - 기본적으로 서버는 전원을 끄지 않는다. (24시간 가동이 기본적이다.) - CPU, 메모리, 디스크 유닛 별 교환, 증설이 가능하거나 용이하다. - 각종 부품으로 다중화가 되어있다. (잘 이해가 안가는 부분) [서버 하드웨어 구조] - ex) 랙 마운트 : CPU, 메모리, 디스크 등이 정연히 배치되어 유닛별 교환 용이 02. PC vs 서버 중시 성능 - 출력 성능 : PC > 서버 - I/O 성능 : PC < 서버 - 기본적인 성능 차이를 비교한다면 당연히 PC < 서버 이다. (기본 유닛간 확연한 성능 차이, 유닛 설치 가능 갯수 차이 등등) 03. 서버 OS - Windows Server - Linux - UNIX 계열 04. 서버 사양 - 서버에서 주의할 것은 전..
메모리 관리의 복잡성 - 폰 노이만의 "모든 프로그램은 메인 메모리 위에 올라와야 사용할 수 있다" 이론안에서 메모리를 더 효율적으로 적재하고, 공간을 확보하는 것은 매우 복잡한 문제이다. 이러한 관리는 메모리 관리 시스템(Memory Management System, MMS) 이 담당한다. 메모리 관리의 이중성 - 메모리 관리의 이중성은 쉽게말해, "서로다른 입장에서의 입장차이" 라고 판단된다. 프로세스 관점에선 더욱 많은 메모리를 독차지하려하고, 메모리 관리자 입장에서는 보다 더 효율적인 관리를 하고 싶어 하기 때문이다. 물론, 현재 메모리 관리 시스템은 각 요구사항을 적당히 타협봐서 완벽히 처리되었다고 한다. Compiler Vs InterPreter 구분 Compiler InterPreter 변수..
보통 게임 내에서 게임의 옵션의 상태를 담아놓거나, 체크, 토글 등을 세팅하기 위해서 Bit Flag (비트 플래그)를 사용한다. 미사용 예) 사용 예) 실제로 사용할 자료형은 bool로 안하겠지만, 걸러줄 옵션이 늘어날 수록 함수의 선언부가 저렇게 늘어나는 것 보단, 늘어나는 것에 관계없이 함수의 선언부가 일정한 것이 좋지 않은가 라는 생각을 하게된다. 물론, IsChecked함수를 여러번 호출하면 상관이야 없겠다만, 옵션에 따라 써야하는 변수도 늘어나야할 것이고, 이런저런 불편함이 따를것이라 생각하여 비트를 이용하는것이 옳다고 판단했다. 내가 원하는 결과는 "설정한 옵션값을 BitFlag로 상태를 체크하고, 그 상태에 따라 맞는 필터를 해주는 것" 이다. 먼저 Bit Flag에 대해 알아야 써먹을텐데..
1. Enemy Spawn [동영상1. Enemy Spawn] 2.
Dead Lock 이란? - 교착상태 (Dead Lock)란, 프로세스간 자원을 점유하고, 또 다른 필요한 자원을 점유하기 위해 대기하는 과정에서 무한히 대기하여 프로세스 처리를 못하는 현상을 이야기한다. 교착 상태의 발생? - 시스템 자원, 공유 변수(또는 파일), 응용 프로그램 등을 사용할 때 발생한다. 자원 할당 그래프(하이퍼링크 예정) Dead Lock 의 4대 필요조건 1. 상호 배제 (Mutual Exclusion) 한 자원에 대한 여러 프로세스의 동시 접근 불가 2. 점유와 대기 (Hold And Wait) 자원을 가지고 있는 상태에서 다른 프로세스가 사용하고 있는 자원의 반납을 기다리는 것 3. 비선점 (Non Preemptive) 다른 프로세스의 자원을 강제로 가져올 수 없음 4. 환형 ..
우리가 쓰던 C++ 에서의 String 과 C#의 String과는 차이가 있다. - 주로 수정 같은 문제.. 오히려 String 과 StringBuilder 가 가깝다고 공부한 적이 있는데 이 부분은 공부해서 채워넣을 예정이다
- TCP, UDP = OSI 7 Layer 의 전송 계층에서 사용되는 프로토콜 (응표세전네데물..) - TCP ( Transmission Control Protocol ) -> 인터넷에서 데이터를 메세지의 형태로 보내기 위해 IP와 함께 사용되는 프로토콜 [TCP 특징] 1. 연결 지향 방식으로 패킷 교환 방식을 사용 2. 3-way handshaking 과정을 통해 연결, 4-way handshaking을 통해 해제 3. 흐름 제어, 혼잡 제어 4. 높은 신뢰성을 보장 5. UDP 보다 속도가 낮음 6. 전이중(Full-Duplex), 점대점 (point to Point) 방식 TCP는 연결 지향 방식으로 패킷을 전송하는 논리적 경로를 배정. 3-way handshaking과정은 목적지와 수신지를 확..
Virtual Table ( vtable ) ? 가상함수 테이블이란, 한 개 이상의 가상 함수 (Virtual Method)를 포함하는 클래스에 대해서 컴파일러가 생성하는 테이블. Key(식별자) , Value(함수의 주소) 로 구성되어 있다. 가상함수 포인터를 모아둔 배열이라고도 한다. 이 가상함수 테이블이 존재하는 클래스에 대해서는 vptr(가상함수 포인터) 가 클래스 내부에 생성된다. Code 다음과 같은 코드를 짜면 vtable의 어떻게 구성되는지 알아볼 수 있다. #include "stdafx.h" #include using namespace std; class Parent { public: virtual void MyFunc1() { cout