본문으로 건너뛰기

성능과 한계 ​

Universe Map은 최신 데스크톱에서 60 FPS, 모바일에서 30 FPS를 목표로 합니다. 모든 점을 한 번에 그리는 것보다 안정적인 프레임 시간이 더 중요합니다.

렌더링 비용 제한 ​

  • 별, 외계행성 호스트, 은하군과 거대 구조는 GPU 점·선 배치를 사용합니다.
  • 큰 카탈로그의 각 레코드마다 Three.js 객체를 만들지 않습니다.
  • 카메라 기반 공간 인덱스가 필요한 별·은하 타일만 불러옵니다.
  • 상세 텍스처와 재질은 유효한 LOD 근처에서만 로드합니다.
  • 궤도 계산은 낮은 빈도로 갱신하고 상태 사이를 보간합니다.
  • 레이블은 축척·품질·충돌에 따른 예산을 지킵니다.
  • 볼륨 효과는 품질별 레이마칭과 픽셀 예산을 사용합니다.
  • 렌더 루프는 Angular 변경 감지 밖에서 실행됩니다.

그래픽 프로필 ​

프로필권장 환경대표 조정
낮음휴대전화, 구형 노트북, 배터리 절약점·텍스처·볼륨 샘플·타일 감소
중간내장 GPU와 일반 사용밀도와 후처리 균형
높음최근 데스크톱 하드웨어더 풍부한 카탈로그, 텍스처, 볼륨과 세부

프로필은 과학 좌표를 바꾸지 않습니다.

실제 기기 측정 현황 ​

2026년 8월 27일의 반복 측정은 Apple M5 Max 고사양 MacBook Pro, macOS 26.6, Chrome 151, 실제 Metal 렌더러, 데스크톱/높음 품질, 기기 픽셀 비율 1을 사용했습니다. 세 번의 측정에서 첫 조작 가능 지도의 중앙값은 259.3ms, Tempel의 첫 가시 프레임 중앙값은 7.1ms였습니다. 세 번의 콜드 이동은 p95 9.1–9.2ms, p99 16.7ms, 최대 66.6–75ms, 긴 프레임 0.24–0.36%를 기록했습니다. 세 번의 워밍업 뒤 세 사이클은 지오메트리 100개, 텍스처 18개, 드로 콜 44개를 유지했고, 수집된 힙은 0.77MiB 감소했습니다.

별도의 관측 플라네타륨 프로필은 1440 × 900 CSS 픽셀에서 브라우저 DPR 2를 요청했습니다. 높음 품질 렌더러는 문서화된 DPR 1.5 상한을 적용했고 세 번 모두 그 값에서 안정적이었습니다. 각 실행은 1452–1455프레임을 표본화해 p95 9.1ms, p99 9.3ms, 최대 9.4–9.5ms, 긴 프레임 0개를 기록했으며, 목성은 세 번 모두 해상된 표현으로 전환되었습니다.

동일 호스트의 깨끗한 시뮬레이션 캠페인을 2026년 8월 28일 리비전 27db0e1에서 기록했으며 열 보고서 모두 통과했습니다. 중간 품질/CPU 4×에서는 첫 사용 가능 지도의 중앙값이 1.26초, Tempel 첫 가시 프레임 중앙값이 24.2ms였고, 세 번의 콜드 축척 경로는 p95 9.3ms와 최악 프레임 66.5ms, 관측 경로는 p95 중앙값 9.2ms와 최악 프레임 24.9ms 및 목성 해상 3/3을 기록했습니다. 낮은 품질/CPU 6×의 대응 값은 1.85초, 33.1ms, p95 16.6~16.7ms와 최악 축척 프레임 83.4ms, 관측 p95 9.4ms와 최악 프레임 41.7ms 및 목성 해상 3/3이었습니다. 두 리소스 프로토콜 모두 세 주기 동안 지오메트리, 텍스처, 드로우 콜 수가 변하지 않았습니다. GPU는 M5 Max 그대로였으므로 이는 회귀 여유를 측정할 뿐, 중간·저사양 대표 실제 기기의 증거가 아닙니다.

시작, Tempel, 리소스, 축척 간 프레임, 관측 플라네타륨의 다섯 성능 벤치마크는 UNIVERSE_BENCHMARK_REPORT_PATH로 동일한 버전 지정 JSON 증거 보고서를 쓸 수 있습니다. Git 리비전과 dirty 상태, 호스트 특성, 브라우저와 WebGL 렌더러, 설정, 표본과 요약을 기록합니다. UNIVERSE_BENCHMARK_REQUIRE_PHYSICAL=1은 CPU 감속, 소프트웨어 렌더링 또는 선언된 UNIVERSE_BENCHMARK_DEVICE_CLASS가 없는 측정을 보고서 작성 전에 거부하므로 시뮬레이션이 실제 기기 행렬에 조용히 섞이지 않습니다.

npm run benchmark:campaign은 대표 실제 기기 한 대에서 다섯 프로토콜을 순차 실행합니다. 깨끗한 Git 체크아웃과 선언된 등급·라벨을 요구하고, CPU 감속을 끄며, 엄격한 예산과 최소 세 번의 반복을 적용하고, 기본적으로 등급에 맞는 품질을 사용합니다. 다섯 보고서를 저장소 밖에 쓰고 SHA-256 다이제스트로 연결한 universe-map/performance-campaign@1 매니페스트를 생성합니다. 이 명령은 비교 가능한 증거를 묶을 뿐, 한 기기를 다른 등급으로 만들지 않습니다.

npm run benchmark:campaign:simulated는 대표 하드웨어가 없을 때 같은 호스트에서 실행하는 별도 스트레스 캠페인입니다. Chrome CPU 감속을 다섯 프로토콜 모두에 적용해 중간 품질은 4×와 관측자 DPR 1.25, 낮은 품질은 6×와 DPR 1로 실행합니다. 열 번의 벤치마크는 순차 실행되며 깨끗한 체크아웃에서 SHA-256과 명시적 한계를 담은 universe-map/simulated-performance-campaign@1 매니페스트를 생성합니다. 원본 호스트의 GPU, 그래픽 메모리, 드라이버, 메모리 대역폭과 발열 특성은 에뮬레이션되지 않습니다. 중간·낮음은 회귀 프록시이지 실제 기기 증거가 아닙니다. 예산 초과가 이후 프로토콜을 중단하지 않으며, 완전한 매니페스트가 각 프로토콜·프로필·캠페인에 withinBudget을 기록한 뒤 엄격 모드가 실패를 반환합니다. 이미 알려진 회귀 기준선을 의도적으로 수집할 때만 UNIVERSE_BENCHMARK_STRICT=0을 사용합니다.

반복 실제 기기 기준선은 여전히 고사양 등급만 입증합니다. 중간·저사양 실제 기기 측정은 하드웨어가 없을 때의 차단 조건이 아니라 향후 선택적 교차 확인입니다.

디버그 패널 ​

URL에 ?debug=true를 추가하면 FPS, 드로 콜, 삼각형, 지오메트리, 텍스처, 보이는 천체, 현재 좌표계, 카메라 거리, 대상, 율리우스일과 품질이 표시됩니다.

text
https://super-universe.app/ko/?debug=true

JavaScript, WebGL 2, 선택 품질에 충분한 GPU 메모리와 포인터 이벤트가 필요합니다. 카탈로그는 모든 별과 은하를 포함하지 않으며 반지름과 축척 전환은 일부 조정됩니다. 수신된 빛은 갈릴레오 위성, 단순화된 위성, 왜소행성, 소행성과 혜성을 포함한 지원 태양계 천체와 HYG 별의 빛 이동 시간을 보정합니다. 문서화된 외계행성계는 공개된 모항성 거리에서 계산한 지연을 공유하지만 국소 행성 위상은 설명용이며 거리 없는 계는 동시 시각을 유지합니다. 가까운 은하는 기하학적 카탈로그 광행 시간을, Cosmicflows-4와 대규모 구조는 광도 또는 공변 거리에서 추론한 ΛCDM 되돌아보기 시간을 사용합니다. 위치·형태·측정값은 정적으로 유지됩니다. 우주론 카탈로그는 서로 다른 관측 범위를 가집니다. 검출 부재가 실제 우주 공동을 뜻하지 않으며 상세 지표 탐색, 실시간 날씨와 정확한 상대론적 광선 추적은 현재 범위 밖입니다.

느려지면 낮은 품질로 바꾸고 GPU를 쓰는 다른 탭을 닫은 뒤 알려진 대상으로 돌아가세요. 정적 데이터가 실패하면 네트워크 패널에서 해당 파일을 확인하세요.

다음: 개발자 가이드.

과학 데이터와 시각적 조정은 별도로 표시됩니다.