이상해씨++ 89

CPU도 구라를 치고 C++도 구라를 친다

최적화에서 중요한점 1. 실제 컴퓨터의 메모리 하드웨어는 명령 실행 속도보다 매우 느리다 2. 메모리는 byte 단위로 접근 되지 않는다. + 유한한 용량을 갖는다. 3. 프로세서는 하나의 명령어를 Fetch->Decode->Execute->결과 반영 의 단계를 나누는데, CPU는 단계수만큼 명령어를 동시에 실행할 수 있다. 1번 명령어가 명령어 해석(Decode)로 들어가면 2번 명령어가 Fetch단계에 진입하는 방식으로 CPU는 두개 이상의 명령어 주소를 가지고 있을 수 있다. 실제로 여러개의 명령을 수행하지만 결과 반영을 순차적으로 해주는것때문에 명령이 순차적으로 실행되는 것처럼 작동되어 보이는것-> 대표적인 프로세서의 구라인데 멀티스레딩에서 자기 자신의 프로그램은 순서대로 실행되는 것처럼 보이나 ..

2020 이전/C++ 2019.08.08

DirectX9 프로젝트 윈도우 10에서 쓰기

PondWater이라는 예제 프로젝트의 구현을 보고싶어서 다운받았더니 DirectX9 프로젝트라서 주말에 물 프로젝트를 연구해볼 겸 틀었다. ▶ 파일 다운로드 1. https://www.microsoft.com/en-us/download/details.aspx?id=6812 에서 다이렉트X SDK를 다운받는다. 1-1. 중간에 오류가나면 이미 기존에 런타임 재배포 패키지가 깔려있어서 충돌때문에 그런것이므로 제어판-프로그램 제거에서 MicroSoft Visual C++ 2010 Redistributable~~ 을 지워준다. 나는 혹시몰라서 2008년판도 지웠다. 지운 후, 다시 다운받는다. 2. 프로젝트 속성 프로젝트의 속성 페이지를 열어서 VC++ 디렉터리로 들어가 라이브러리를 포함시킨다. 1번에서 다이..

접선공간(tangent space)

한 점의 법선(normal)벡터, 그리고 접선(tangent)벡터, 그리고 법선과 접선을 외적한 바이노멀(binormal)벡터를 축으로 하는 공간이다. 왜 tangent space라고 부르나요? 평면을 옆에서 봤을 때 밑면과 이루는 탄젠트 값이 즉 이 평면의 기울기를 결정하기 때문에 tangent space 라고 부른다. 폴리곤의 평면에서 수직인 법선(normal)로 폴리곤의 기울기 값을 만들고, 접선의 나머지 두 축으로 어느방향으로 기울었는지를 나타내어, 이 세개의 축을 가지고 만든 좌표계를 접선 좌표계라고 부르고 이 좌표계가 존재하는 공간을 접선 공간(tangent space)이라고 한다. 계산 참고: https://mgun.tistory.com/1289 tangent space, 접선 공간 접선 공..

2020 이전/DirectX 2019.07.11

해시 버켓 사이즈 비교 실험

Release mode 매 문자열마다(길이 별로 달라질 때) 해쉬 테이블 생성시, Hash bucket 사이즈 1000 매 문자열마다(길이 별로 달라질 때) 해쉬 테이블 생성시, Hash bucket 사이즈 10000 모든 문자열(길이 통합)에 하나의 해쉬 테이블 생성시, Hash bucket 사이즈 1000 모든 문자열(길이 통합)에 하나의 해쉬 테이블 생성시, Hash bucket 사이즈 10000 버켓 사이즈 2000 : 버켓 사이즈 500:

2020 이전/C++ 2019.07.06