[언리얼엔진] UE_LOG 사용법
·
언리얼 엔진
1. UE_LOG 형식더보기UE_LOG(LogTemp, Log, TEXT("Log Message"));2. UE_LOG 카테고리더보기UE_LOG(LogTemp, Log, TEXT("Log Message")); 카테고리는 로그 메세지를 구분하는 기능을 하는데, LogTemp가 해당한다.일반적으로 LogTemp를 많이 사용한다. LogTemp외에 카테고리를 지정하고싶다면, 커스텀 카테고리 방법을 사용하면 된다.커스텀 카테고리// .h 파일DECLARE_LOG_CATEGORY_EXTERN(Meoyoung, Log, All);// .cpp 파일DEFINE_LOG_CATEGORY(Meoyoung); 각각의 파일의 헤더파일 밑에 선언해준 후, UE_LOG(Meoyoung, ...)로 코드를 작성해보면 정상적으로 동..
[컴퓨터구조] CPU의 성능을 높이는 방법
·
컴퓨터 과학/컴퓨터구조
1. 클럭더보기클럭은 컴퓨터의 부품을 움직일 수 있게 하는 시간의 단위이다.  CPU가 1초에 100번 반복될 수 있다면 이 CPU의 클럭속도는 100Hz이다. 최근에는 CPU 클럭속도가 굉장히 빠르기때문에 Gz 단위(10^9 Hz)로 측정한다. 하지만, 클럭속도가 매우 높은 경우 발열이 심해질 수 있기때문에 클럭만으로 CPU 속도를 높이기에는 한계가 있다.2. 멀티코어, 멀티스레드더보기코어란 CPU 내에서 명령어를 읽고, 해석하고, 실행하는 부품을 뜻한다. 멀티코어 CPU 혹은 멀티코어 프로세스는 CPU가 여러 개의 코어를 포함하고 있는 것을 의미한다.하드웨어 스레드하드웨어 스레드란 하나의 코어가 동시에 처리하는 명령어의 단위를 뜻한다. 여기서 말하는 스레드는 운영체제에서 사용하는 스레드(소프트웨어적인..
[컴퓨터구조] 동기, 비동기 인터럽트
·
컴퓨터 과학/컴퓨터구조
1. 인터럽트더보기CPU의 작업을 방해하는 신호를 의미한다. 동기 인터럽트(예외), 비동기 인터럽트(하드웨어 인터럽트)로 구분할 수 있다. 동기 인터럽트는 CPU에 발생하는 인터럽트로, 프로그래밍 오류와 같은 예외상황을 마주쳤을 때 발생한다.비동기 인터럽트는 입출력장치에 의해 발생하는 인터럽트로, 알림의 역할을 한다. 일반적으로 비동기 인터럽트를 인터럽트라고 지칭하지만, 하드웨어 인터럽트라고도 한다.1-1. 하드웨어 인터럽트더보기효율적으로 명령어를 처리하기위해 사용된다. 예를 들어 하드웨어 인터럽트를 사용하지 않는다면, CPU는 프린터의 작업이 언제 끝나는지 모르기때문에 주기적으로 프린터의 작업완료여부를 확인해야한다. 이처럼 처리할 데이터가 있는지 주기적으로 확인하는 것을 "폴링"이라고 지칭하고, CPU..
[컴퓨터구조] 레지스터의 정의와 종류
·
컴퓨터 과학/컴퓨터구조
1. 레지스터더보기CPU안에 있는 임시 저장장치이다.레지스터의 종류1. 프로그램 카운터2. 명령어 레지스터3. 범용 레지스터4. 플래그 레지스터5. 스택 포인터1-1. 프로그램 카운터더보기메모리에서 다음으로 읽을 명령어의 주소를 저장한다. 명령어 포인터라고도 불린다.일반적으로 1씩 증가하는 구조이지만, 조건문 혹은 리턴문을 실행하는 경우 프로그램 카운터의 값이 임의의 위치로 변경된다.1-2. 명령어 레지스터더보기메모리에서 방금 읽은 명령어를 저장하는 레지스터이다. 제어장치는 명령어 레지스터 속 명령어를 해석한 후 다른 부품으로 제어신호를 보내 작동시킨다.1-3. 범용 레지스터더보기다양한 상황에서 범용적으로 사용할 수 있는 레지스터이다. 데이터, 명령어, 주소 등을 저장할 수 있다.1-4. 플래그 레지스터..
[컴퓨터구조] 다양한 인코딩 방식
·
컴퓨터 과학/컴퓨터구조
1. 아스키 코드더보기아스키는 초창기 컴퓨터에서 사용하던 문자 집합을 의미. 영어의 알파벳, 아라비아 숫자, 일부 특수문자를 포함. 패리티 비트: 아스키 문자를 표현하기 위해서는 8비트를 사용하는데, 그 중 1비트는 오류검출에 사용된다.오류 검출에 사용되는 1비트를 패리티 비트라고 함. 나머지 7비트로 표현할 수 있는 정보의 가짓수는 128(2^7)개임.2. EUC-KR더보기아스키 코드가 한글을 표현할 수 없다는 단점을 보완하고자 등장한 인코딩 기법.KS X 1001, KS X 1003이라는 문자집합기반의 인코딩 방식으로, 아스키 문자를 표현할 때는 1바이트, 하나의 한글 글자를 표현할 때에는 2바이트 크기의 코드를 부여한다. 총 2350개 정도의 한글 단어를 표현할 수 있다.2바이트는 16비트이므로 2..
[컴퓨터구조] 부동소수점에 대해서
·
컴퓨터 과학/컴퓨터구조
1. 부동소수점더보기소수점이 고정되어있지 않은 소수표현방식 지수와 가수123.123이라는 수를 m x 10^n 꼴로 나타내면, 1.23123 x 10^2으로 표현가능1. 지수 : 10^n에서 n에 해당2. 가수 : 1.23123이 해당2. IEEE 754더보기현대의 컴퓨터의 부동소수점 저장방식 32비트, 64비트 시스템 모두 부호비트에 1비트가 사용된다. 부호비트가 0인 경우 양수, 1인 경우 음수를 의미한다.32비트에서는 지수비트에 8비트, 가수비트에 23비트가 사용되고, 64비트에서는 지수비트에 11비트, 가수비트에 52비트가 사용된다.IEEE 754에서는 가수의 형태가 1.OOO 형태로 정해져있다. 1101011.1010101의 경우 1.101011110101 x 2^6으로 저장되는 셈이다. 따라서..
[컴퓨터구조] CPU, 메모리, 보조기억장치, 입출력장치
·
컴퓨터 과학/컴퓨터구조
1. CPU (중앙처리장치)더보기메모리에 저장된 명령어를 읽어 들이고, 해석하여 실행하는 부품이다. CPU의 주 구성요소1. 산술논리연산장치(Arithmetic and Logic Unit : ALU): 연산을 수행할 회로로 구성되어 있는 부품. CPU가 처리할 명령어를 실질적으로 연산.2. 제어장치(Control Unit : CU): 명령어를 해석해 제어신호라는 전기신호를 내보내는 장치. 이에 따라 메모리, 입출력장치 등을 작동시킴.3. 레지스터: 프로그램을 실행하는데 필요한 값들을 임시로 저장하는 고속메모리. 2. 메모리 (주기억장치)더보기현재 실행중인 프로그램을 구성하는 데이터와 명령어를 저장하는 부품. RAM과 ROM이 있지만, 보통 RAM을 의미 메모리 관련 중요개념1. 주소: CPU가 메모리에 ..
[유니티] 안드로이드 파일 저장, 로드
·
유니티
개요 모바일 방치 게임을 개발하면서 파일 저장 기능을 필수적으로 구현해야 했다. 유니티 에디터에서는 분명히 정상적으로 동작했으나, 안드로이드 빌드 파일을 실행했을 때 저장 기능이 제대로 작동하지 않는 문제가 발생했다. 이 문제를 해결하기 위해 일주일 동안 ChatGPT와 구글링을 활용하며 다양한 시도를 해보았다. 덕분에 해결은 했지만 나와 비슷한 상황을 겪은 사람이 있을 수도 있을 것 같아 경험을 정리해본다.  1. 에디터, 안드로이드 차이점더보기에디터에서는 Json 형식으로 데이터를 저장하고, 불러오는 코드가 동작했지만, 안드로이드에서는 작동하지 않은 이유가 뭘까. 우선 작성한 코드를 살펴보자private void Awake(){ filePath = Path.Combine(Application.d..