XNB files, and why?

Hi folks.

Having finally got the pipeline tool doing what I need it to do with fonts and graphics and sounds, I’m left wondering why I’ve gone through it all.

What and where is the benefit of the pipeline approach over importing these resources into the content folder?


Read: http://www.infinitespace-studios.co.uk/general/monogame-content-pipeline-why/

PS. Don’t stare “in” the background… it’s like an optical illusion…

Aarrgghh! Stripes!

Thanks for the link, reading now. :o)

A good write-up, it makes sense even to the simplest of brains.

Thanks again.

For the sake of having all opinions presented, I completely disagree with the view that the content pipeline (as implemented) is a good thing. One of Dean’s closing comments is:

…Using the raw assets is ok when you are putting together a simple demo or proof of concept but sooner or later you will need to start optimising your content. My advice would be to use the Pipeline tooling from the outset so you get used to it.

I avoid the content pipeline unless using it is absolutely necessary, but despite this I’ve still shipped many games on various XNA/MonoGame platforms.


I can see the argument each way, being able to dump files directly into the content is quick and easy and because of that it’s very flexible, but I do like the idea of having them managed and I don’t think using the pipeline really makes anything more complicated. It does need some work to make it more friendly, even down to setting up default buttons, views of assets etc. And I guess using the pipeline makes a game one step more difficult to mess about with externally.

vchelaru’s opinion is a VERY good one where he says, “I avoid the content pipeline unless using it is absolutely necessary.”

Make no mistake, he is not saying he avoids it entirely. He uses it when he finds it necessary. That is correct computer science practice when it comes to optimization.

Can anyone argue with Donald Knuth?
“The real problem is that programmers have spent far too much time worrying about efficiency in the wrong places and at the wrong times; premature optimization is the root of all evil (or at least most of it) in programming.”

So the advice to “use the Pipeline tooling from the outset so you get used to it” can definitely be disagreed with.

My measuring stick usually says: If prototyping, screw optimisation, if in workflow mode, OPTIMISE DAY 0.