Copy link to clipboard
Copied
After Adobe Premiere Pro CC 2022 (22.2) update, Adobe Premiere Pro's API speed has decreased by 2-3x or more.
For example, CC2022 (22.1.2) and CC2022 (22.2) have a big difference in the speed of generating keyframes via addKey.
example)
Script to create 30 keyframes and set new values
addKey(time)
setValueAtKey(Time, Value, UI Update)
The result below is a comparison of 30 attempts to create a keyframe using addKey for a specific property through a for statement and 30 attempts to change the value through setValueAtKey.
CC2022 (22.1.2): Takes 1 second.
CC2022 (22.2) : Takes more than 3-4 seconds.
Some API related slowdowns after update.
Do you have any solution for this?
I would like to resolve this.
Thanks for the script!
I'm seeing a 2x speed decrease; we'll have a look. It may not be possible to improve on that ExtendScript performance.
Processing speed is back to normal with Adobe Premiere Pro CC2022 (22.3) version and works fine with latest update 22.3.1 and Adobe Premiere Pro beta 22.5.0.8.
Copy link to clipboard
Copied
//sample code
/*
This script code assumes that Effect > Transform is applied to the first track item in the sequence.
There is a difference in the speed at which addKey and setValueAtKey are processed, regardless of the motion applied.
*/
var project = app.project;
var seq = project.activeSequence;
var frame = 30;
var frameRate = 29.97;
var clip = seq.getSelection()[0];
var components = clip.components;
for(var i=0; i < components.numItems; i++){
if(components[i].displayName=="Transform"){
var props = components[i].properties;
var position = props[1];
position.removeKeyRange(clip.inPoint.seconds, clip.outPoint.seconds);
if( !position.isTimeVarying() ){ position.setTimeVarying(true) };
for(var t=0; t < frame; t++){
var ticks = (t/frame);
var keyTime = (t/frameRate);
var time = clip.inPoint.seconds + keyTime;
var outTime = clip.outPoint.seconds - keyTime;
position.addKey(time, true);
position.addKey(outTime, true);
var in_value = (1/frame * t);
var out_value = (1/frame * t);
position.setValueAtKey(time, [in_value, in_value], 1);
position.setValueAtKey(outTime, [out_value, out_value], 1);
}
}else{
this.continue
}
}
Copy link to clipboard
Copied
Thanks for the script!
I'm seeing a 2x speed decrease; we'll have a look. It may not be possible to improve on that ExtendScript performance.
Copy link to clipboard
Copied
Since the code I passed is included in my product,
I sincerely hope it will solve the problem.
We are aware that third-party scripts and plugins depend heavily on existing programs, and we also take into account that some APIs may not work when updated.
However, it was not possible to predict in advance the slowdown in processing speed. If there are issues with the API itself, we can look forward to future updates, but we are concerned that there may be no room for improvement in terms of processing speed.
01.
I need to change the direction of the product I've developed, so it's very important to know if this issue has room to improve with future updates.(Please provide practical advice.)
In my past experience it took 4-5 months to fix some APIs that weren't working properly. As I said before, I'm wondering if 'processing speed' is the update target.
02.
You cannot specify custom easing settings for keyframes in the Premiere Pro Script API, and you cannot load presets (*.prfpset).
For this reason, we developed a tool to smooth animations by creating multiple linear keyframes.
A better solution would be to apply a preset (*.prfpset) or allow custom easing settings for keyframes, Please consider API support for this.
Copy link to clipboard
Copied
01: Yes, it remains possible that we would invest in accelerating ExtendScript execution. It is also unlikely that we will do so, in a timely fashion.
02: It's a nice request, and (as previously noted here, and elsewhere) it is very unlikely that we will invest in further expasion or improvement of PPro's ExtendScript API. Rather, we're investing our integration efforts in providing support for third party UXP plug-ins.
Copy link to clipboard
Copied
Processing speed is back to normal with Adobe Premiere Pro CC2022 (22.3) version and works fine with latest update 22.3.1 and Adobe Premiere Pro beta 22.5.0.8.