• 티스토리 홈
  • 프로필사진
    KIMJAVAN
  • 방명록
  • 공지사항
  • 태그
  • 블로그 관리
  • 글 작성
KIMJAVAN
  • 프로필사진
    KIMJAVAN
    • 개발 (160)
      • 마크업 언어 (19)
        • HTML (7)
        • CSS (12)
      • 자바스크립트 (85)
        • JavaScript (34)
        • JS Library (6)
        • React (13)
        • threeJS (6)
        • TypeScript (2)
        • Next js (5)
        • Node JS (18)
        • webGL (1)
      • AI (4)
        • chat-gpt (4)
      • flutter (17)
        • dart (11)
        • flutter (6)
      • Sql (3)
      • PHP (4)
      • Python (2)
      • Git (4)
      • vscode (1)
      • 개발 도움 사이트 (7)
      • 작업기록 (1)
      • 오류 모음 (3)
      • 메모장 (7)
  • 방문자 수
    • 전체:
    • 오늘:
    • 어제:
  • 최근 댓글
      등록된 댓글이 없습니다.
    • 최근 공지
        등록된 공지가 없습니다.
      # Home
      # 공지사항
      #
      # 태그
      # 검색결과
      # 방명록
      • [threeJS] 최적화
        2023년 08월 07일
        • KIMJAVAN
        • 작성자
        • 2023.08.07.:53
        728x90

        Performance Optimization (성능 최적화)

         

        1. Geometry Merging: 여러 개의 작은 지오메트리 대신 하나의 큰 지오메트리로 병합함으로써 draw call을 줄일 수 있습니다.
        2. LOD (Level of Detail): 카메라에서 멀리 떨어진 객체는 상세 수준을 줄여 렌더링합니다. Three.js는 이를 위한 THREE.LOD 클래스를 제공합니다.
        3. Culling: 화면 밖의 객체는 렌더링하지 않습니다. 이는 Three.js가 자동으로 수행하지만, 추가적인 제어가 필요한 경우 직접 구현할 수도 있습니다.
        4. Texture & Material Optimization: 불필요하게 큰 텍스처나 복잡한 재질을 사용하면 성능에 영향을 줄 수 있습니다. 텍스처 크기를 적절하게 조절하고 필요한 경우 mipmapping을 활용하세요.
        5. Shaders Optimization: 커스텀 쉐이더를 사용하는 경우, 최적화되지 않은 쉐이더 코드는 성능에 큰 영향을 미칠 수 있습니다.
        6. Use Mesh Instancing: 같은 모양의 객체를 여러 번 그리는 경우, Mesh Instancing을 사용하여 성능을 개선할 수 있습니다.
        7. Limit Lights: 조명의 수를 제한하고, 필요한 경우에만 그림자를 사용합니다. 조명과 그림자는 계산 비용이 높을 수 있습니다.
        8. Use Buffer Geometry: 가능한 경우 THREE.BufferGeometry를 사용하여 메모리 사용을 효율화합니다.
        9. Animate Only What's Necessary: 모든 프레임에서 전체 씬을 렌더링하지 않고, 변화가 있는 부분만 렌더링하면 성능을 향상시킬 수 있습니다.
        10. Tools & Profiling: 브라우저의 성능 프로파일링 도구를 사용하여 병목 현상을 찾고, Three.js의 renderer.info를 통해 렌더링에 대한 통계를 확인하세요.

        '자바스크립트 > threeJS' 카테고리의 다른 글

        [R3F] material 잘 정리되어있는 블로그  (0) 2024.08.21
        [R3F] Ambient Occlusion Map / alpha map  (0) 2024.08.21
        [threejs] 환경 맵 만들기 / 유리 질감 구현하기  (0) 2023.08.23
        [three.js] camera.position.set() / camera.rotation.set()  (0) 2023.08.11
        [threeJS] cos, sin, tan 함수를 사용해서 배치하기  (0) 2023.08.07
        다음글
        다음 글이 없습니다.
        이전글
        이전 글이 없습니다.
        댓글
      조회된 결과가 없습니다.
      스킨 업데이트 안내
      현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
      ("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)
      목차
      표시할 목차가 없습니다.
        • 안녕하세요
        • 감사해요
        • 잘있어요

        티스토리툴바