# Why is the Geometry faster than BufferGeometry?

**URL:** <https://discourse.threejs.org/t/why-is-the-geometry-faster-than-buffergeometry/574>\
**Category:** Questions\
**Tags:** geometry\
**Created:** [July 8, 2017, 7:16pm UTC](https://discourse.threejs.org/t/why-is-the-geometry-faster-than-buffergeometry/574 "2017-07-08T19:16:08Z")\
**Posts on this page:** 1\
**Showing post:** 10

<div class="post-metadata">

**Author:** ![hofk](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.threejs.org/hofk/32/44944_2.png) [@hofk](https://discourse.threejs.org/u/hofk)\
**Post date:** [September 12, 2019, 8:38am UTC](https://discourse.threejs.org/t/why-is-the-geometry-faster-than-buffergeometry/574/10 "2019-09-12T08:38:02Z")

</div>

➕ There’s one more question about this. ➕

> [@What is the faster for been drawn and updated buffergeometry or geometry?](https://discourse.threejs.org/t/what-is-the-faster-for-been-drawn-and-updated-buffergeometry-or-geometry/2532):
>
> i only care about the speed and time taken for drawing and updating geometries as all of my projects are interactive ones … and i can not recognize which type of geometry is the faster after experimenting both types i found both types almost have the same time to be drawn in millisecond but i notice that geometry type is faster than buffergeometry in updating is this true ?? another question if anyone can help how to improve the performance of updating geometries and make it more faster ?

* * *

_The number of 7.7k views (6th place on the list) of this post so far shows that it obviously interests many beginners burning._ 🔥 ℹ 🔥

Some time ago I have added the desired stats to the speedtests. But the viewer is less interested in a theoretical value than in a smooth and largely jerk-free representation.  
But these two examples clearly show the better performance of Geometry **for this particular case**.  
I still can’t explain it to myself. I cannot completely penetrate the very complex system of three.js. 😭

Since I have been programming for 50 years (not as a profession, but also larger projects, see e.g. page 29 [Addon. Produces almost infinite many time-varying geometries with functions - #29 by hofk](https://discourse.threejs.org/t/addon-produces-almost-infinite-many-time-varying-geometries-with-functions/262/29)) I can think of something. I started with binary coding / machine language and assembler, later FORTRAN and other languages. But it doesn’t have to be true in this case. I am looking for an explanation for this phenomenon. 🤔 🤔🤔

_If I write an algorithm directly in binary/assembler, but don’t do this very effectively/optimally, it is possible that a very good compiler of a programming language will generate better binary code from an optimal version of the algorithm._

❓ Are there any differences in the definition of BufferGeometry and its conversion up to the CPU/GPU and the process when starting from Geometry and looking at the conversions ❓

* * *

My first addons THREEf and THREEg I realized after a hint quite consciously parallel with Geometry, indexed BufferGeometry and non-indexed BufferGeometry. Here you can compare the variants. [hofk (Klaus Hoffmeister) · GitHub](https://github.com/hofk)  
Now I work with BufferGeometry. Yes, some things only work with BufferGeometry.

As a beginner I also started with Geometry in 2016. For BufferGeometry it would need more basic examples in the documentation. The examples show the potential of three.js, but are often too complex for beginners, the core of the matter is not always immediately tangible.

But who should provide these basic examples?

=\> **A lot has already been delivered!** \<= 👍

I collect it all the time and sometimes I can’t keep up. [Collection of examples from discourse.threejs.org](https://discourse.threejs.org/t/collection-of-examples-from-discourse-threejs-org/4315)

* * *

Conclusion:  
At first BufferGeometry seems more difficult, but it is like anywhere a question of exercise and habituation.

* * *

_PS:  
My page was just updated from http to https. Maybe there are still some problems.  
Wow, an extra-long contribution from me. Because of my miserable English: Translated by [DeepL Translate: The world's most accurate translator](https://www.deepl.com/translator)_

---

_[View the full topic](https://discourse.threejs.org/t/why-is-the-geometry-faster-than-buffergeometry/574)._
