Skip to main content
Richard Rosenman
Inspiring
March 5, 2024
Pregunta

Plug-In crawling on After Effects 2024 (SDK)

  • March 5, 2024
  • 2 respuestas
  • 1511 visualizaciones

Hi gang;

 

Let me preface by painting the big picture. I have a development machine which I do all my programming on. This is running a really old Intel chip (i7-4930K). I develop on AE 2020 and AE 2023. Unfortunately, the new AE requires AVX2 and my machine doesn't support it, so I cannot download AE 2024 and test it. I like developing on older tech because it guarrantees the slowest my plug-in would ever run.

 

I decided to test my plugin on my work machine which is a best. It's a Ryzen Threadripper 3979X running AE 2024... and it crawls. It's really, really slow. I then went to test it on yet another slow machine I have (i7-3930K) and on a really old AE CS6 and it FLIES! Super fast.

 

So my most powerful machine, with the newest AE version, is the slowest!

 

Clearly, there is something off. I tried messing with various AE 2024 settings but nothing. It crawls. 


I do not have MFR implemented on my plugin but on my dev machine with AE 2023, it is still quite fast despite not supporting MFR. So I don't think that's the issue.

 

It seems to be specific to my Threadripper, or AE 2024. But I can't test AE 2024 on any other machine due to the AVX2 issue (thanks Adobe).

 

The only other thing I can imagine is the release mode vs debug mode. I am pretty sure I am compiling it in release mode and I believe if I wasn't, I wouldn't be able to run it on any other machine since it would report missing dependables, correct?

 

So does anyone have any suggestions or ideas what could be happening again?

 

To summarize, two really old machines running AE versions prior to 2024 are running my plugin super fast and well. My work machine, which is the fastest of all, with the latest AE, crawls when running it. All other plugins seem to run fine on it.

 

Richard

Este tema ha sido cerrado para respuestas.

2 respuestas

James Whiffin
Legend
March 6, 2024

On windows CS6 feels much more responsive than the later Ae builds. One advantage of the new builds is you can see the frame render time, though it's just a benchmark and will report insanely quick renders if the frame or part of the frame is cached. 

 

To get a more accurate benchmark, render the plugin with noise applied beforehand and clear the cache before rendering. See how fast CS6 renders 5 minutes of frames vs Ae 2024. MFR is good at taking advantage of modern hardware so the later versions should be as fast or faster (when you build it as MFR native). 

Richard Rosenman
Inspiring
March 6, 2024
  • Hi guys;

 

Thanks for your replies. I tore the plug-in away bit by bit last night and it comes down to transform_world. That is what kills the performance. I turned on AE render timings and it's about 700 ms per frame. If I comment out the transform_world it about 20 ms per frame - as it should be.

 

I should mention I was also able to put AE 2024 on the slow laptop and it works perfectly fine. So for some reason, this issue is specific to my Threadripper machine. I assume the 32 Cores is somehow involved here.

 

I intend to eventually add MFR but the current plug-in without MFR works really well on the laptop with AE 2024 so it's not the lack of MFR that is hampering it. I also disabled MFR in AE and the performance issue is still there.

 

This is a particle system to it is drawing a mere 500 particles per frame (creating 500 transform_worlds) and barely functioning on the Threadripper whereas all other much, much slower machines work just fine!

 

I saw that my Threadripper has CPU Virtualization disabled and I thought that might have to do with AE's new AVX2 requirements but then I checked the laptop and it too has virtualization disabled. The only difference is aside from being really old, the laptop is only 4 cores.

 

I'm at a loss especially because it seems to be specific only to the Threadripper - to that hardware.

 

Are there any other hardware considerations that could be the culprit here?

 

Richard

Richard Rosenman
Inspiring
March 6, 2024

So I've reduced my app to barely nothing - just the loop and transform_world display and the rendertimes are still around 600-700ms per frame on the Threadripper, while only around 150ms on the slow machines.

 

I did at test and I changed the CPU affinity to only one, out of the 64 cores. So that it would only use core 0. The rendertimes then drop to 150-200 ms. So I am suspecting more and more that the number of cores is a culprit here.

 

However, shouldn't transform_world be thread safe?

 

-Richard 

Community Expert
March 5, 2024

i honestly don't know why that would happen. in your shoes, i would have put some profiling code in my plug-in that would write data into a file, benchmark on the machines where it runs fast, and then see wherre the slowdown occurs on the problem occurs on the new machine. with a few iterations of this process you could pinpoint the problem area.