The issue was caused mpoly array urequired by the cache filling, but the pointer was never set when preparing render data. Seems this change is safe enough, in terms it shouldn't be causing slowdown, since the assignment of mpoly is cheap, but hard to tell if there is anything else affected by thing underneath.