Draw call in frame question

Godot Version

4.3 beta1, mono version


Apologies if this is a stupid question, fairly new to Godot (and graphics related programming in general).

I’ve got maze generation algorithm that I want to translate into a 3D map using godot.
I’ve had no issues with the maze generation and movement around the map.
I’ve got a question about the rendering bit.

As a reference the generated maze is a 2D array of bools, where true means a blocked cell. Size is 80x40.

Assuming a world grid of 80x3x40.
I’ve tried this is several different ways:

  1. Instantiate one cube scene into each wall cell. Admittedly very slow and generates a massive amount of draw calls.
  2. Using a surface tool, generate the 6 faces of a cube, based on the existence or not of any neighbor walls (similar to culling in voxel engines). Generates 100-200 draw calls with a single material.
  3. Using one MeshInstance3D per face of an identity cube, create instances of the relevant face mesh using the same logic as #2. Still about 100-200 draw calls for 6 MeshInstance3Ds.

My question is, assuming I have no other objects in the scene, shouldn’t the draw calls for #2 and #3 be 1 and 6 respectively?

In all cases I am using a StandardMaterial3D with a diffuse texture only and all the code is in C#.

Nvm, figured it out.
The total draw calls included 2d control nodes which I was using for printing debug information. Once I hid those and added a key to output draw call/rendering stats to the console, they showed the correct figures.