프로그래밍 85

Animation Budgets in unreal engine

애니메이션 업데이트 틱 최적화 (URO)URO는 애니메이션의 틱 속도를 조정하여 CPU 사용량을 크게 줄입니다. 예를 들어, 애니메이션은 매 프레임마다, 4 프레임마다, 또는 심지어 10 프레임마다 틱할 수 있습니다. 틱된 프레임 간의 보간을 비활성화하면 GameThread 비용을 더욱 줄일 수 있습니다.그러나 플레이어 근처에 많은 캐릭터가 있는 대규모 이벤트나 게임 모드를 처리할 때는 URO의 효과가 감소합니다. 추가되는 각 캐릭터는 제거할 수 없는 비용을 초래하기 때문입니다.에픽은 이를 해결하기 위해 렌더링을 위한 동적 해상도(Dynamic Resolution) 와 유사한 시스템이 추가했습니다.동적 애니메이션 예산고정된 예산(Budget) 내에서 작동하며, 시간보다는 애니메이션의 품질과 양을 조정합니..

네트워크 동기화 기본 프로세스

NetDriver 네트워크 처리의 핵심 NetConnections 의 목록을 유지 관리 각 연결은 플레이어를 나타내며 클라이언트의 NetDriver는 서버에 대한 단일 연결을 관리 네트워크로부터 패킷을 수신, 패킷을 적절한 NetConnection으로 전달하는 일을 담당 패킷 패킷 메타데이터, Bunches로 구성 Bunche 채널간 전송되는 데이터 패킷이 수신되면, 개별 묶음으로 분할 된 다음, 개별 채널로 전달됨 패킷에는 번치가 포함되거나, 단일 번치가 포함되거나, 여러개의채널로 전달됨. 패킷에는 번치가 포함되지 않거나, 단일 번치가 포함되거나, 여러번 포함 될 수 있음 번치가 너무 크면, 전송에 여러개의 작은 번치로 분할되고 PartialInitial, Partial, PartialFinal로 표시..

Python Selenium Tutorial

셀레니움은 브라우저를 직접 제어해서 자동화 테스트, 크롤링 할때 유용하게 쓸 수 있는 도구 입니다. 1. 데스크탑의 브라우저 버전 확인 사용할 브라우저의 버전을 확인합니다. 예를 들어 Chrome 브라우저의 경우 도움말-크롬정보를 통해서 접속하거나 아래 주소를 통해서 접근할 수 있습니다. chrome://settings/help2. Driver 다운로드 본인의 브라우저 버전에 맞는 Driver를 다운로드합니다. Browser Driver download page Chrome https://sites.google.com/a/chromium.org/chromedriver/downloads Edge https://developer.microsoft.com/en-us/microsoft-edge/tools/web..

프로그래밍 2021.07.10

Effective C++ - 2장 생성자 소멸자 및 대입 연산자

C++의 클래스에 한개이상 꼭 들어있는 것들은 생성자, 소멸자 대입연산자다. 5. C++가 암시적으로 호출하는 함수를 주의하자 컴파일러는 클래스에 대해 기본 생성자, 복사생성자, 복사대입연산자, 소멸자를 암시적으로 만들어 놓을 수 있다. class Empty(); class Empty() { public: Empty() {...}; Empty(const Empty& rhs) {...}; ~Empty() {...}; Empty& operator={const Empty& rhs} {...}; } 디폴트 생성자는 멤버 변수 생성자를 호출할수 있도록 자리를 마련함 디폴트 복사, 대입 생성자는 원본 객체의 비정적 객체를 복사함 주의점 : 복사,대입 생성자의 경우 legal & Reasonable 해야만 자동 생성..

프로그래밍/C++ 2021.05.12

케라스를 사용한 인공신경망 소개

케라스를 사용한 인공신경망 소개 자연으로부터 영감을 받은 발명품들(새 -> 비행기, 산우엉 -> 벨크로)처럼 인공신경망도 뇌 구조로부터 영감을 받음 새를 보고 비행기를 만들었지만, 날개를 펄럭일 필요는 없는 것처럼 인공신 경망도 생물학적 뉴런에서 점점 멀어지고 있다. 10장에서는 인공 신경망의 초창기 구조, 다중 퍼셉트론, 케라스를 소개 함 뉴런을 사용한 논리 연산 매컬러와 피츠가 생물학적 뉴런에서 착안한 매우 단순한 신경망 모델을 제안함 (MCP) McCulloch-Pitts 모델에서 사용한 가설은 다음과 같다. 1. 뉴런은 활성화되거나 혹은 활성화되지 않은 2 가지 상태이다. 즉, 뉴런의 활성화는 all-or-none 프로세스이다. 2. 어떤 뉴런을 흥분되게 (excited) 하려면 2개 이상의 고정..

프로그래밍/AI 2021.02.02

SIMD Compiler ISPC 소개

GDC 2019 Intel에서 발표한 ISPC 세션을 재미있게 보았는데요. 특히, ISPC의 장점 중 ISA 셋이 바뀌어도 쉽게 버전업을 할 수 있다는 점이 마음을 울렸습니다.(...?) 좋은 프로젝트 인 것 같아 차근차근 정리하며 알아가려합니다! 모던 하드웨어의 고성능을 위한 병렬화의 종류 최신 하드웨어에서 고성능을 위한 병렬화의 종류에는 두가지가 있습니다. Multi Threading, Multi-Core Programming등 Task Single Instruction Multi Data (SIMD) 이중 두번째 SIMD와 관련된 기술인 ISPC를 소개하려합니다. ISPC ISPC는 Intel SPMD Program Compiler의 줄임말입니다. 이 컴파일러를 사용하면 닌자프로그래머 없이 컴퓨터의..

프로그래밍/C++ 2019.07.29

Bias and Vairance

Bias and Vairance 고양이와 개사진을 보여주면서 분류하는 문제라면, 사람이 풀경우 거의 틀리지 않을것입니다. 이런 문제를 AI가 풀었다고 가정할 때, 각 케이스별로, 현재 AI가 갖고있는 편향과 편차에 대한 문제를 진단할 수 있습니다. - 훈련용 데이터 오차율 개발용 데이터 오차율 결과 Case 1(Error Percentage) 1% 11% High Variance Case 2(Error Percentage) 15% 16% High Bias Case 3(Error Percentage) 15% 30% High Bias & High Variance Case 4(Error Percentage) 0.5% 1% Low Bias & Low Variance 만약, 문제가 복잡해지고, 맞추기 어려워 질 ..

프로그래밍/AI 2019.05.05