• Which the release of FS2020 we see an explosition of activity on the forun and of course we are very happy to see this. But having all questions about FS2020 in one forum becomes a bit messy. So therefore we would like to ask you all to use the following guidelines when posting your questions:

    • Tag FS2020 specific questions with the MSFS2020 tag.
    • Questions about making 3D assets can be posted in the 3D asset design forum. Either post them in the subforum of the modelling tool you use or in the general forum if they are general.
    • Questions about aircraft design can be posted in the Aircraft design forum
    • Questions about airport design can be posted in the FS2020 airport design forum. Once airport development tools have been updated for FS2020 you can post tool speciifc questions in the subforums of those tools as well of course.
    • Questions about terrain design can be posted in the FS2020 terrain design forum.
    • Questions about SimConnect can be posted in the SimConnect forum.

    Any other question that is not specific to an aspect of development or tool can be posted in the General chat forum.

    By following these guidelines we make sure that the forums remain easy to read for everybody and also that the right people can find your post to answer it.

FSX Drawcall batching

Messages
224
Country
sweden
Hi !
I have no problem to add "Drawcall batching" on a single object but I can not add Drawcall batching to my cars. I have 5 texture sheats and each one containing 5 cars 1024-1024. There are 6 big parking lots and it takes at least 300 cars to fill them 30%. So Drawcall batching is very important.

Best regards: Chico
 

Attachments

  • Cars.jpg
    Cars.jpg
    220 KB · Views: 1,015
Hi,

If you use 5 different textures at the moment, you will always have at least 5 drawcalls. So the most optimal situation you can reach is that you have 5 drawcalls for the parking lot, instead of 300. So that would still be a good situation.

If you want to go for one drawcall, you would have to merge all the different textures into one sheet. But going from 300 to 5 is probably enough already.

Another thing to keep in mind is that there is a maximum amount of triangles per drawcall. It's around 42000. So if you have 300 cars, having them all in one drawcall means each car can't be more than 140 triangles. So if your models are more complex, it makes no sense to aim for one drawcall.
 
Hi Arno!
I understand what you are saying , and five drawcalls insted of 300 is a huge win.
The problem is that I can't add drawcall batching to any car on those five texture sheet containing five cars.
It works fine on a mdl with only one vehicle. If you have any suggestions ,or if you prefer to take a look at the stuff let me know.

I wish youa happy Eastern Holiday. Chico
 
Hi,

Why can't you add the drawcall batching? If the MDL has one car or multiple in there should not matter. The procedure to enable the batching is the same.
 
It could be the case because the individual cars are still individual models..? You could take the 5 cars and arrange them in a typical parked pattern, very similar to the default parked cars library object. Then you would merge all 5 cars into a single model which should allow you to batch the draw calls. For variety you can duplicate the model with a different texture sheet; allowing you 10 distinct cars for the price of 2 draw calls.
 
Hi Arno & Rick.

What can I say more Arno ? It just does not work.
When I click "Predict drawcalls" it predicts nada!

You must know that I don't blame MCX, because I have seen it work on my light poles.

Rick I will come back to you. Thank's for helping as well.

Take care: Chico
 

Attachments

  • D.C.B.jpg
    D.C.B.jpg
    107.9 KB · Views: 716
Hi,

I think you are confusing two things here. It seems you are talking about the drawcall minimizer, which tries to minimize the amount of textures used by combining them. But if each car uses one texture sheet already that can't be minimized further.

Drawcall batching can still be enabled on those models though (that has nothing to do with the drawcall minimizer). That's just a setting in the option that influences how the model is export to MDL.
 
Arno (hope you have your new home ready and do not have sewerage problems at the moment, sh.t, as I do),

Am I correct in stating that the draw calls can only be used on one model? If another model uses it, it will be another draw call even if you use the same texture sheet?
(I thought I knew but now I am starting to doubt it:().
And here comes in my question about the benefits of merging one model with many others in another thread (http://fsdeveloper.com/forum/threads/merging-models-into-one-bgl.433623/#post-706097). Would that be the benefit that you can batch the textures because now all the models are in the same mdl (as I saw it was done in Fly Tampa)?
 
If drawcall batching is enabled the same textures from multiple objects are still combined in one drawcall.

Combining in one mdl might be useful, but there is a balance. The entire airport as one model is also not good for the performance as fsx would have to render all even if only a part of the model is in view.
 
Hi Arno !

I will give it a last try and give you all information in a comprehensible way.

I have five texture sheets with five different cars on each sheet. (Total = 25 cars.)
I have one mdl/bgl for each car.(Total=25 mdl/bgl)
I want to place 250-300 cars on six parking lots.

What would be the lowest number of drawcalls ?

Sorry to bother you , but I just hate to make things worse than necessary.

Best ragards: Chico
 
Hi,

There is no single answer to that.

If you would enable drawcall batching on the 25 MDL models and place the 300 instances you would get 5 drawcalls. All instances that use the same texture are combined in a single drawcall by the rendering engine. But you need to stay below the triangle limit per drawcall, else objects might disappear.

You can also combine the objects into one mdl file that places multiple cars at once. For the drawcalls that doesn't really matter, but it makes the placement easier. And if you have more triangles than the drawcall batching limit you might use this approach to combine as much in one mdl, so that you can still minimize the amount of drawcalls without enabling the batching.

Hope it doesn't confuse you...
 
Hi Arno!
First I like to thank you for giving me your time in the middle of the Easter Holiday.

The good news is that you declare that it can be done with 25 drawcalls!
The bad news is that MCX does not let me add drawcall batching.

I see only one way to get rid of this issue and that is to send you one mdl and one texturesheet.
If it is OK with you, how can I send it to you ?

Regards: Chico
 
Chico, you're getting confused I think.

1) Turn on Drawcall batching in MCX>Options>Exporter>Settings.

2) Open up each car model in MCX, and simply export the .mdl again over itself.

Tada... it's enabled. You can check this by using the drawcall monitor from Arno's development tools.

What are you using to place each of these cars btw?

If you place all cars in a single GMAX scene and export it as one model, then you will only have the 5 drawcalls and you can add LODs too.
 
Shuan is right, it should be that simple.

But if it doesn't work, I can have a look at your files.
 
Solved after checking with Chico.
Thanks to Shaun for explaining it and thanks to Arno for explaining it. Before I had the occasion of explaining it to Chico he had already understood it from what Shaun said.
Leads me to add another common error to that thread!
Thanks the both of you.
 
Hi Shaun :wizard:

Thank you very much for showing me the way to do this "Drawcall batching"
It works wonderful and I have batched all the 25 cars.

I spoke to Arno and told him that everything is working fine.

I place them with Instant scenery. Unfortunately I don't use GMAX.
Are you trying to tell me that there is a smarter way to place those car into FSX?

You are more then welcome and I am all ears.

Wish you a happy Easter Holiday.

Chico
 
Back
Top