A faulty engine could be a factor for poor performance, but I doubt that the main responsibility lies in it. Most depends on the quality of optimisation and beta-testing, both of which are aspects that are especially neglected nowadays, when so much income comes from hasty pre-orders. Attila performs so badly, because Creative Assembly never invested too many resources in fixing this glaring issue. Actually, CA was already aware of the issue and tried to preempt the inevitable complaints, by claiming that the ultimate settings could only be enjoyed with future graphic cards, an excuse which was
largely rejected (justifiably, as future proved) for being completely surreal, from a technical perspective. In what concerns the reasons for Attila performing worse than its predecessors or successors, I suspect that the reason lies with its rushed release (albeit a bit delayed, according to the original planning).
Much of 2014 was spent improving the atrocious state of Rome II, in order to increase the sales of DLC packs and reduce the negativity among the community. Unfortunately, this policy influenced the quality of Attila, which, regardless of any marketing jargon, was always treated as an expansion and relatively less important follow-up to a major tent-pole title. Moreover, the fact that Attila sold poorly (due to the 3rd of September debacle, the smaller popularity of the Late Antiquity period and even the more moderate advertisement), while fewer DLCs were going to be released and the much more profitable Warhammer trilogy was in full production, meant that CA was less motivated to waste resources in optimisation.