Branci, fidati, io ci lavoro con gli engine e proprio recentemente ho dovuto portare un progetto che non riusciva a girare a più di 60fps con l'Antialiasing e ottimizzando un po' di roba ce l'ho fatta sacrificando ben poco della grafica e anzi, in alcuni casi migliorando anche qualche modello.
Ti assicuro che non è pigrizia, anche perchè è un concetto che non esiste in una azienda con centinaia di sviluppatori.
Ogni elemento che aggiungi porta con sé una valanga di variabili che possono non essere compatibili con l'engine di cui disponi.
Banalmente, mettiamo caso di colpo si mettano a fare texture diverse per ogni palazzo, la GPU ora deve elaborare ogni palazzo come entità separata e quindi ogni frame il motore perde tempo a disegnare ogni palazzo uno a uno, se sono tutti uguali li piazza in un'unico momento.
E te mi dirai, e ma allora li mettono come dettagli extra, e se sono modelli è un ulteriore oggetto che l'engine deve renderizzare e tenere occupato spazio in ram per le texture, c'è un'altra opzione, che sono i Decal (vedili come degli sticker) ma come performance sono piuttosto pesanti.
Poi appunto, parli di disegnare nelle texture, ma se queste sono ad una risoluzione di boh, 256x256 o 512 non hai proprio spazio per disegnare dettagli.
Questo capita quando hai un motore scarso, soprattutto nella gestione degli assets e il loro caricamento e devi fare un progetto con un hardware comunque che necessita di molte accortezze.