2024년 개발 관련 결산

VoiceChat 기능 추가 개인맵이 아닌 공용 월드맵에 대한 복셀 데이터 저장(이전에는 개인맵만 저장하고 공용맵은 서버 리부팅시 초기화) DynamicVoxelObject 기능 추가-여러개의 복셀 오브젝트들을 잡아서 DynamicVoxelObject로 변환.-DynamicVoxelObject의 원본 데이터에 해당하는 brush데이터를 서버의 scene들 사이에서 공유.-scene에 입장, 입장후 DynamicVoxleObject 업데이트에 대한 패킷처리-DynamicVoxelObject에 대한 편집기능구현-.dvo파일 포맷 추가.-클라이언트/서버에서 .dvo파일 로드/세이브 기능 추가.-네트워크를 이용한 .dvo파일 업로드 기능 추가. D3D12 RayTracing 렌더러 … More 2024년 개발 관련 결산

DLL에서 static CRT를 사용하면 각각의 DLL은 다른 heap을 사용하는가? #2

앞서 static CRT마다 각각의 heap을 가지는지 여부는 MSVCRT와 UCRT의 차이로 결정된다고 포스팅 했었다. 결론부터 얘기하자면 앞선 포스팅의 결과는 틀렸다.조금 더 테스트를 해보니 static CRT를 사용하는 DLL을 로드 할 때 heap이 증가되는가의 여부. 즉 CRT가 초기화될 때 마다 개별적인 heap을 가지는지의 여부는 UCRT와 MSVCRT의 차이는 아니다. 이미 MSVCRT 시절에 어느 시점부터 정책이 변경됐다. 아래는 테스트 결과 … More DLL에서 static CRT를 사용하면 각각의 DLL은 다른 heap을 사용하는가? #2

DLL에서 static CRT를 사용하면 각각의 DLL은 다른 heap을 사용하는가?

‘DLL프로젝트에서 static CRT를 사용할 경우 각각의 static CRT는 각각의 heap을 사용한다.따라서 static CRT를 사용하는 DLL을 2개 사용할 경우 프로세스에는exe(1) + dll(1) + dll(1) = 3 해서 최소한 3개의 heap이 존재한다.’ 라고 기억하고 있다. 근데 최근에 발표자료 만들면서 테스트 해보니 DLL을 여러 개 로드해도 heap 개수가 증가되지 않는 것으로 확인되었다. Windows 10이전에는 CRT가 msvcrtxxx.dll에 구현되어 있었고 … More DLL에서 static CRT를 사용하면 각각의 DLL은 다른 heap을 사용하는가?