Unity : 대용량 CSV 파일 읽기 및 업데이트

rafvasq

나는 4 개의 데이터 열이있는 매우 큰 CSV 파일 (1,000,000 + 행)이 time, id, xy. 다음은 샘플입니다.

t   id  x   y
434 84  0   0
435 84  28.22   -4.5
435 611 1895.13 755.17
435 872 2401.08 159.12
435 65  0   226.39
436 84  50.44   -4.5
436 611 1890.63 732.5
436 872 2373.9  151.04
436 990 2614.97 372.74
...

시뮬레이션에서 시간이 지남에 따라 다음 세 가지 중 하나를 수행해야합니다.

  1. ID가 처음 표시 되는 경우 x, y 좌표에 해당 ID로 개체를 만듭니다.

  2. ID가있는 개체가 이미 존재하는 경우 해당 개체의 x, y 좌표를 업데이트합니다.

  3. ID가 더 이상 나타나지 않으면 해당 개체를 삭제하십시오.

실행중인 타이머를 유지하고, 초당 CSV를 확인하고, 현재 시간이있는 모든 행을 찾고, 위의 단계 중 하나를 실행하는 것이 매우 집중적이라고 생각합니다. Unity 시뮬레이션에서 시계열 데이터를 처리하는 더 효율적인 방법이 있습니까?

닉 데키 아라

대용량 파일의 경우 대안을 찾아야합니다. 여기에 몇 가지 아이디어가 있지만 최선의 선택은 구체적으로 무엇을하고 있는지에 따라 다릅니다.

  • 이 CSV를 업데이트하는 구성 요소가 대신 Unity3d와 직접 통신 할 수 있습니까? 예를 들어 소켓 연결을 사용하면 디스크에서이 정보를 지속적으로 저장하고 읽을 필요가 없습니다. 그러나 이것은 CSV 데이터가 생성되는 방식에 따라 다릅니다.
  • csv를 더 작은 파일로 분할 할 수 있습니까? 예를 들어 각 타임 스탬프에 대해 하나씩? 이렇게하면 각 단계에서 시뮬레이션을 업데이트하는 데 드는 오버 헤드가 줄어 듭니다.
  • 업데이트 빈도를 줄일 수 있습니까? 매초 업데이트해야합니까?
  • 또는 10 초마다 CSV에서 읽고 다음 10 초 동안 모든 데이터 (예 : 해당 범위의 모든 타임 스탬프)를로드하고 메모리에 저장 한 다음 다음 10 초 동안 만 저장할 수 있습니다. 파일을 다시 읽는 대신 메모리의 정보를 사용하여 업데이트 하시겠습니까? 이렇게하면 디스크에 대한 호출이 줄어 듭니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Linux C ++ 애플리케이션에서 대용량 파일 찾기 및 읽기

Go 및 App Engine의 데이터 저장소를 사용하여 대용량 CSV 파일 가져 오기 및 구문 분석

파일 액세스 테스트를위한 대용량 CSV 파일 만들기

대용량 CSV 파일 읽기의 효율성 향상

mmap 및 대용량 페이지가있는 대용량 파일을 무작위로 읽기

Pandas를 사용하여 충돌없이 대용량 CSV 파일을 효율적으로 읽기

비표준 타임 스탬프 열이있는 대용량 CSV 파일 읽기

Bash : CSV 텍스트 파일 읽기 및 행 평균 찾기

클라우드 저장소에서 대용량 파일 읽기 및 데이터 저장소에 쓰기

Unity 및 Hololens : 텍스트가 아닌 파일 예외 읽기

c # 및 Unity, CSV 파일로 변경된 레코드 업데이트

대용량 파일 (바이트) 읽기

Java에서 빠르게 대용량 데이터 파일 읽기

대용량 CSV 파일 가져 오기

대용량 CSV 파일 읽기에 대한 IIS 7.5 문제

CSV 파일 읽기 및 특정 데이터 추출

Python 다중 처리 : 대용량 파일 읽기 및 가져온 사전 업데이트

Java에서 텍스트 파일 읽기 및 데이터 사용

텍스트 파일 읽기 및 PHP에서 값 업데이트

Java를 사용하여 CSV 파일 읽기 및 쓰기

TensorFlow : CSV 파일에서 데이터 읽기 및 사용

대용량 텍스트 파일 읽기 및 데이터 저장-Javascript

CSV 파일의 열 내용 읽기, 변환 및 쓰기

json 파일 읽기 및 업데이트

Python으로 대용량 CSV 읽기 및 처리

사용자 입력을 사용하여 외부 파일에 대한 목록 작성, 업데이트 및 읽기

클라우드 기능에서 csv 파일의 생성 및 업데이트 메타데이터를 읽고 이를 csv에 열로 추가하는 방법

csv 파일에서 데이터 읽기, 편집 및 쓰기

C#의 메모리 스트림에 저장하지 않고 대용량 파일/BLOB 읽기 및 복사

TOP 리스트

  1. 1

    셀레늄의 모델 대화 상자에서 텍스트를 추출하는 방법은 무엇입니까?

  2. 2

    Blazor 0.9.0 및 ASP.NET Core 3 미리보기 4를 사용한 JWT 인증

  3. 3

    openCV python을 사용하여 텍스트 문서에서 워터 마크를 제거하는 방법은 무엇입니까?

  4. 4

    C # 16 진수 값 0x12는 잘못된 문자입니다.

  5. 5

    Excel : 합계가 N보다 크거나 같은 상위 값 찾기

  6. 6

    오류 : MSB4803 : MSBuild의 .NET Core 버전에서 "ResolveComReference"작업이 지원되지 않습니다.

  7. 7

    R에서 Excel로 내보낼 때 CET / CEST 시간 이동이 삭제됨

  8. 8

    node.js + postgres : "$ 1"또는 그 근처에서 구문 오류

  9. 9

    확대 후 하이 차트에서 Y 축이 잘못 정렬 됨

  10. 10

    EPPlus에서 행 높이를 설정할 때 이상한 동작

  11. 11

    Ionic 2 로더가 적시에 표시되지 않음

  12. 12

    MS Access 부분 일치 2 테이블

  13. 13

    EPPlus에서 병합 된 셀의 행 높이 자동 맞춤

  14. 14

    ExecuteNonQuery- 연결 속성이 초기화되지 않았습니다.

  15. 15

    ResponseEntity를 사용하고 InputStream이 닫히는 지 확인하는 적절한 스트리밍 방법

  16. 16

    PrematureCloseException : 연결이 너무 일찍 닫혔습니다.

  17. 17

    오류 : "const wchar_t *"유형의 인수가 "WCHAR *"유형의 매개 변수와 호환되지 않습니다.

  18. 18

    Java에서 이미지를 2 색으로 변환

  19. 19

    overflow-y를 사용할 때 스크롤 버벅 거림 줄이기 : scroll;

  20. 20

    Java에서 Apache POI를 사용하여 테이블 크기 및 간격을 단어로 설정하는 방법

  21. 21

    Android Kotlin은 다른 활동에서 함수를 호출합니다.

뜨겁다태그

보관