Performance of issuePluginEvent with rendertextures

I’m doing some native rendering in a plugin. I render to a rendertexture using native vulkan calls, in my own renderpass / pipeline etc.

I’m basically rendering a single quad to a large rendertexture (really large, 7000x3000ish). This is then rendered onto a sphere with an unlit shader. I’m not doing anything else in the scene.

The performance is really slow. I’m just scraping 60fps on mobile (snapdragon 860). The GPU is taking absolutely ages, 16ms per frame most frames. I’m running identical vulkan code on my unreal plugin and it takes 3ms gpu time per frame.

I’m doing my rendering in endcontextrender. I tried begincontextrender with no improvement.

Is there something I need to know about rendertextures and how they’re synchronised in vulkan? I have mip maps turned off, and the format is RGBA1010102 same as I use elsewhere.

Or perhaps it would run faster if I created my own destination textures in native vulkan then used them as external textures rather than using a rendertexture?

I could also try to render direct from my source textures in unity but the slight pain there is that they need an immutable vulkan sampler, so I’d have to hook the pipeline creation somehow.

Any ideas would be very welcome.

Thanks
Joe