Why is an application running so slowly when started with launchctl?
I had the same issue and it was solved by adding the ProcessType tag. 

    &lt;key&gt;ProcessType&lt;/key&gt;
    &lt;string&gt;Interactive&lt;/string&gt;


I had been looking at this issue from all kinds of angles comparing cpu/gpu usage, attributed system resources etc (as you must have as well) and it just wasn't apparent WHAT THE DIFFERENCE was, ie why the performance hit. In the man page it states: 


  This optional key describes, at a high level, the intended purpose of the
       job.  The system will apply resource limits based on what kind of job it
       is. If left unspecified, the system will apply light resource limits to
       the job, throttling its CPU usage and I/O bandwidth.


You must have experienced as well that this throttling wasn't extremely apparent when looking at the process' properties.

I got this solution when I emailed the excellent folks of launchd.info about this, hooray for them. Hope this helps you.