프로그래머 관점에서의 Qualcomm SQ1 vs Apple m1 vs intel x86 벤치마크

서론 2019년에 ‘프로그래머의 관점에서 본 Surface Pro X 벤치마크‘라는 글을 작성했었다.이후로 2년 반 정도가 지났다. 여전히 Windows on ARM에 관심을 가지고 있지만 Surface Pro X를 비롯한 Windows on ARM의 하드웨어 생태계는 그다지 발전하지 않았다. Windows on ARM의 표준적인 칩인 퀄컴의 8cx, 7cx칩의 GPU드라이버는 여전히 불안정하다. Windows on ARM생태계가 정체되어있는 동안 애플에서 ARM기반의 자체 프로세서와 새로운 … More 프로그래머 관점에서의 Qualcomm SQ1 vs Apple m1 vs intel x86 벤치마크

D3D12의 Map()에 대한 고찰.

최근에 VOXEL HORIZON에서 와이어 프레임으로 렌더링되는 박스들이 상당히 성능을 잡아먹고있음을 알게됐다. 본래라면 이런건 디버깅용 매시로나 쓰는거다.VOXEL HORIZON에서는 다수의 오브젝트를 선택해서 회전/이동을 시킬때 다수의 박스를 그리게 되므로 문제가 됐다. 첨부한 이미지와 같이 커틀러옹의 이미지로부터 변환된 복셀 오브젝트는 250개 정도 되고 이 오브젝트들을 선택했을때, 250개 정도의 박스를 렌더링 한다. 또한 회전/이동 시킬때 프리뷰 화면으로 250개 정도의 블럭(geometry … More D3D12의 Map()에 대한 고찰.

VOXEL HORIZON – 복셀 편집을 위한 발판 구현.

높은 곳에서의 복셀편집을 위해 발판을 구현하는 중. 제트팩 아이템 같은걸 만들까 하다가 이동처리 잘못 건드리면 서버까지 엮어서 일이 엄청 커지기 때문에 기존 이동체계를 건드리지 않는 방향으로 가닥을 잡았다. 고민 끝에 ‘캐릭터 위치를 따라다니는 높이 조절 가능한 발판’을 만들면 기존 체계 안건드리고 복셀 편집을 위해 떠다닐 수 있겠다는 결론을 얻었다. 필요한 기능은 엔진쪽에 다 넣어놨고 일단 … More VOXEL HORIZON – 복셀 편집을 위한 발판 구현.

VOXEL HORIZON – 복셀 오브젝트 회전 기능 구현중

복셀 회전시키는게 뭔 대수인가..하겠지만.이게 생각보다 빡신 이유는 다음과 같다. 복셀 오브젝트는 변환매트릭스를 항시 들고 있어 손쉽게 변환되는 동적 오브젝트가 아니다. 완전히 정적이다. 따라서 변환이라고 하지만 구조물을 깨고 다시 만드는 작업이다. 부수고 다시 만드는 작업이기에 OK를 누르면 되돌리기 어렵다. 따라서 유저에게 반드시 프리뷰를 제공해야한다. 여기서 작업량이 대폭 증가한다. 서버 및 다른 클라이언트와 동기화 되어야 하므로 부수고 … More VOXEL HORIZON – 복셀 오브젝트 회전 기능 구현중

VOXEL HORIZON – 스레드 개수에 따른 충돌처리 성능 비교

어제 충돌처리 멀티 스레드 관련 버그 수정하면서 내가 그 동안 성능 테스트는 했었는가 하는 의문이 생김. 했겠지. 오래 되어서 기억이 안나는거지. 하여간 그래서 다시 테스트 해봄. 캐릭터 1000마리 돌아다닐때 (캐릭터vs삼각형, 캐릭터x캐릭터) 스레드 개수에 따른 충돌처리 소모시간 비교. 하이퍼스레딩이 아무짝에 쓸모가 없다고 느낄 때가 많지만 이 경우 큰 성능향상은 아니지만 쓸모가 있다.

VOXEL HORIZON테스트 방송 -2022년 2월 13일

[테스트 중 발생한 크래시의 분석/디버깅 후기] 테스트 방송중에 시청자 한 분의 클라이언트가 크래시했다. 일단 덤프 파일을 전달 받았다. 덤프를 분석하고 직접적인 원인은 금방 찾았다. 그런데 왜 이런 일이 일어나는지 처음엔 알 수가 없었다. 논리적으론 문제가 없어보이는데. 그때 상황을 설명해달라고 일단 메일은 보냈는데 언제까지 기다릴 수는 없다. 크래시한 플레이어의 화면은 아니지만 내 쪽에서도 어느 정도 관찰은 … More VOXEL HORIZON테스트 방송 -2022년 2월 13일