FlatBuffer란 C++, C#, C, Go, Java, JavaScript 등등의 언어를 지원하는 크로스플랫폼 직렬화 라이브러리다.
원래 Google에서 게임 개발 및 기타 성능이 중요한 응용 프로그램용으로 제작되었고, GitHub(https://github.com/google/flatbuffers)에 소스가 공개되어 있는 오픈소스 라이브러리이다.
실제로 사용했을때 느꼇던 장점과 단점이 명확하다.
장점
1. 데이터에 패킹 / 언패킹 할 필요없이 데이터가 직렬화 되기 떄문에 세이브 / 로드 속도가 빠르다.
2. 따라서 직렬화 되있는 데이터이기 떄문에 메모리 효율성과 속도가 빠르다.
3.많은 언어를 지원한다
단점
1. 데이터가 선형구조로 되어 있어서 데이터 삭제가 자유롭지 않다.
2. 데이터가 선형구조이기 때문에 잘못 저장된 부분이 있다면 해당 데이터뿐만 아니라 뒤에 저장되어있는 데이터도 크래쉬 확률이 높다.
실제로 플랫버퍼는 굉장한 성능을 자랑하지만 라이브 서비스중인 게임일때에 데이터를 한번 더 생각하고 짜야한다.
만약 플랫버퍼를 잘 모르는 상태에서 마음대로 중간에 데이터를 지우고 라이브 서비스를 나가버린다면 해당 유저 데이터는 전에 데이터와 크래쉬나 게임을 플레이 못 할 수 있다.
'Unity' 카테고리의 다른 글
C# 과 런타임 (0) | 2023.07.26 |
---|---|
Unity Frame Debugger (0) | 2023.07.25 |
맥 버전을 12.3으로 업데이트 하고 유니티 플레이가 안되는 경우 (0) | 2023.06.30 |
sdk가 정상적으로 적용했는데 호환이 안되거나 못찾는다면 proguard 등록을 확인하자 (0) | 2023.06.28 |
국가 마다 다른 데이터 파싱 문제 (2) | 2023.06.19 |