Three.js Optimization - Best Practices and Techniques

แชร์
ฝัง
  • เผยแพร่เมื่อ 15 มิ.ย. 2024
  • Are you struggling to get your Three.js scenes running smoothly? Performance optimization can be a daunting task, but in this video guide, we'll break it down step-by-step. We'll start with an overview of the key factors that can impact performance, including draw calls, geometry complexity, and texture size. Then, we'll dive into specific techniques you can use to optimize your Three.js scenes, such as mesh merging, color palettes, ORM textures and more. Finally we will look at two websites and analyze what are the techniques they used to have a fast performant experience.
    Useful Resources
    Blender GLTF Node guide
    docs.blender.org/manual/en/la...
    R3F Performance Monitoring
    github.com/utsuboco/r3f-perf
    React Three Fiber Examples
    docs.pmnd.rs/react-three-fibe...
    Mesh Transmission Material
    codesandbox.io/s/hmgdjq
    The Unconventional Gallery - Ruinart
    unconventionalgallery.ruinart...
    Kode Club - Merci-Michel
    www.kodeclubs.com
    Volkswagen Virtual Studio - VisStudio
    www.vw.com.mx/app/virtual-stu...
    Timestamps
    00:00 Introduction
    00:56 Understanding what's heavy
    01:54 Performance tracking
    03:05 Draw calls
    05:34 Materials
    08:06 Textures
    10:37 Shadows
    11:44 Post processing
    12:28 Case study

ความคิดเห็น • 39

  • @Leosc1986
    @Leosc1986 3 วันที่ผ่านมา

    What a great example of how well a video can be! good job!

  • @andrewwoan
    @andrewwoan ปีที่แล้ว +3

    Incredible! Thanks so much. Looking forward to more! Super helpful stuff; optimization is always tough.

  • @vfxlord
    @vfxlord ปีที่แล้ว +3

    I learned a lot from watching the video , I will definitely come back to this video in the future when I need to improve performance

  • @heagandev
    @heagandev ปีที่แล้ว +3

    Wow I learned a lot from this, and in a very digestible format as well. Thanks!

  • @u_walk2251
    @u_walk2251 ปีที่แล้ว

    nice overview ! thank you so much....and keep bringing such quality stuff. just don't stop

    • @ValentinCoding
      @ValentinCoding  ปีที่แล้ว

      With this kind of comment how could I stop!! Thanks!

  • @adamjackson6606
    @adamjackson6606 ปีที่แล้ว +1

    Very useful video, thank you!

  • @Superla
    @Superla 28 วันที่ผ่านมา

    Such a good video about the process!

  • @shujaa
    @shujaa ปีที่แล้ว +2

    This is great and very informative

  • @vrmeup
    @vrmeup 11 หลายเดือนก่อน

    Thanks for an interesting and educational video.

  • @amirsohail963
    @amirsohail963 ปีที่แล้ว

    thank you
    we need more tutorial on optimization and technical parts and I have subscribed :)

  • @AndersonMancini
    @AndersonMancini ปีที่แล้ว +2

    Wow. So good content here. Congratulation. This will help a lot of people. 👏🏻👏🏻👏🏻👏🏻

    • @ValentinCoding
      @ValentinCoding  ปีที่แล้ว +2

      Thanks I really really appreciate the feedback ☺️

  • @Lalalandinseoul
    @Lalalandinseoul ปีที่แล้ว +3

    This is what i needed !

  • @kshitijroodkee8151
    @kshitijroodkee8151 ปีที่แล้ว +1

    Great video ! would love to see some optimisation tutorials also in a complete workflow ✨

  • @dinoscheidt
    @dinoscheidt ปีที่แล้ว +1

    Thank you very much for taking the time to make this video. As a software engineer currently dabbling in three.js. Regarding performance: There is always also chrome://tracing or about:tracing- a very potent profiler powering chrome lighthouse reports that can also break down webgl.

    • @ValentinCoding
      @ValentinCoding  11 หลายเดือนก่อน

      Thanks for sharing!

  • @morejpeg
    @morejpeg ปีที่แล้ว +1

    Great tutorial, thank you!

    • @ValentinCoding
      @ValentinCoding  ปีที่แล้ว +1

      I appreciate the feedback! Thanks

  • @nastykingkurl4080
    @nastykingkurl4080 8 หลายเดือนก่อน

    Thank you so much! I was struggling to find out what makes my scene so slow, and it really was only the transmission. Which in the end i didnt even need, cause i solved it with transparent: true, & opacity. Went from 30fps back to 60fps

  • @vitaliyforij5205
    @vitaliyforij5205 8 หลายเดือนก่อน

    Thanks for a video

  • @repalash
    @repalash ปีที่แล้ว +1

    Awesome video! One thing to note, SSAO, SSR, Bloom other post-processing effects are not expensive when using a deffered/semi-deferred rendering pipeline similar to the car configurator

    • @edmondbounasr8727
      @edmondbounasr8727 ปีที่แล้ว

      whenever i turn on bloom , the fps drops and i loose performance !!

  • @codevlogs9100
    @codevlogs9100 ปีที่แล้ว

    A great information for a new 3D developer like me.

  • @aadarshgupta6800
    @aadarshgupta6800 ปีที่แล้ว +2

    need more videos pls !

  • @brianliang3010
    @brianliang3010 21 ชั่วโมงที่ผ่านมา

    5:18 aren't vertices of a mesh that are outside of the view frustum removed from rendering pipeline, such that vertex shader can also benefit from it since less vertices are calculated with the shader?

  • @captainofthewhitetower
    @captainofthewhitetower 3 หลายเดือนก่อน

    Is there a guide on how to make realistic environment and a building? Also another guide for implementing threejs to html. Like making widgets for html and using it for the model like scaling or filterin

  • @benedictlang7431
    @benedictlang7431 6 หลายเดือนก่อน

    This is soooooo important to understand but has only 16.754 views

  • @has.nguyen1753
    @has.nguyen1753 ปีที่แล้ว +1

    Could you please attach the node guide link at 6:48? Thank youuuuuuu

    • @ValentinCoding
      @ValentinCoding  ปีที่แล้ว +1

      I updated the description and added the link, thanks for the suggestion!

  • @LakiLOOP
    @LakiLOOP ปีที่แล้ว

    Is unconventionalgallery your work?

    • @ValentinCoding
      @ValentinCoding  ปีที่แล้ว +1

      No it is not! And I just realized I didn't cite the source for this reference. My bad, I updated the description!

    • @LakiLOOP
      @LakiLOOP ปีที่แล้ว

      ​@@ValentinCoding it's such a nice project. Do you maybe know how they did reflections on the floor?

    • @ValentinCoding
      @ValentinCoding  ปีที่แล้ว +1

      @@LakiLOOP Probably a custom shader like the meshReflectorMaterial from pmndrs/drei