API speed decreased after Adobe Premiere Pro CC 2022(22.2) update.

Explorer ,
Feb 18, 2022 Feb 18, 2022

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.

TOPICS
Hardware or GPU , Performance , SDK

Views

191

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines

correct answers 2 Correct answers

Adobe Employee , Feb 18, 2022 Feb 18, 2022
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.

Likes

Translate

Translate
Explorer , Apr 27, 2022 Apr 27, 2022
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.

Likes

Translate

Translate
Explorer ,
Feb 18, 2022 Feb 18, 2022

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
}

}

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Adobe Employee ,
Feb 18, 2022 Feb 18, 2022

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.


Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Feb 19, 2022 Feb 19, 2022

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.

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Adobe Employee ,
Feb 22, 2022 Feb 22, 2022

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.

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Apr 27, 2022 Apr 27, 2022

Copy link to clipboard

Copied

LATEST

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.

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines