Good to see you're finally getting the results you're after, it's often a case of just playing with what you're doing to find the best solution, so if *.fbx are working ok then stick with that as UDK is supposed to have better support for that format. And yes, the ASE script to 2.57 is still WIP so it'll cause problems whilst it's being finalised (and yep, that's me over there as well
![Wink ;)](/smforum/Smileys/default/wink.gif)
).
With regards the materials, it's sort of correct. If you imagine what UDK is doing when its rendering a mesh it's basically pulling in the entire asset (everything associated with the model - mesh, materials, shader effects etc.) and rendering it in 'layers' or 'passes'. First you have the mesh (the wall object, or fountain and so on) and then the materials, then the shaders and effects and so on. Each 'layer' of data requires the renderer to 'parse' it, so yes, if you have seven materials on a mesh the rendering engine is pretty much looking at that object several times, reading each individual material with a view to render them based on where they are on the mesh. If each material has a shader that's a further seven passes being made.
This is why UDK makes more extensive use of 'unique' textures where everything on an object is mapped to the one image, it's only doing a single pass to render those types of objects. Tiled or reused objects differ because although it means the renderer is loading in more assets, those assets can be reused and kept in memory.
Incidentally, this is why polycount isn't always the cause of bad performance