I did a test with some things that is already in UE4. Started on the Blank.
I grabbed the DefaultMaterial, from Engine/EngineMaterials folder, which contains the one texture I used, T_Default_Material_Grid_M. - 512x512-pixels.
Then I modified the blueprint (see image) and made it into:
2 materials (one for static, one for physics object) (both containing the same texture as the other material, but colors different. A modified copied material).
Then:
27 material instances (as you can see on the image, it’s these I use for the colors they all have)
The static mesh, is one basic 1M_Cube from First person Template.
Those 1M cubes you see on the image, I copied them all (Only the cubes), and pasted pasted pasted around, till I had about 5500-6000 cubes nearby, but not overlapping.
That’s where it started to drop below the 120 fps cap. Ran this test on a 4790k stock, gtx970 16 gig ram.
By those numbers shown, Is the result good, or badly optimized?