To anyone who has read this thread, just to let you know I have been in touch with someone and may have a work around. This is no longer urgent but feel free to provide your thoughts if you do have experience with this.
I will post this possible solution tomorrow, thanks!
Hi Brett, did you ensure posterizeTime(0) is the first line in the Expressions it's been used?
There are two other options -
1) Nest or PreCompose this comp and use Time Remapping on the new Comp such that AE only has to calculate for the frames that are required to load the data. So, if the comp loads all data by the 2-second mark, apply Time Remapping on the nested comp and set a second keyframe at the 2-second mark; ensuring you delete the last keyframe created by the Time Remapping routine.
2) Bake the Expressions once you're happy with they work. There's a script that automates the process - https://aescripts.com/easy-bake/
Hey Roland, thank you very much for your response.
Yes I did try posterizeTime(0) and didn't notice any improvement. I must point out I am a rookie when it comes to coding and expressions though. I did add the expression in the first line, but there's still a chance I didn't implement this technique correctly.
However your solution to precompose the text layer sounds very similar to what someone else advised, and that has worked a treat. The method was to make the text layer display each bit of information from the CSV every frame. You can then 'Freeze Frame' this composition, and use time-remapping to call on the exact frame required to display the correct cell.
It was worked fantastically and now the render preview is as quick as ever! The key is to stop AE from executing the expression every frame in case of 'dynamic data'. This is what was slowing everything down. My data is static so the freeze frame and time remap has worked perfectly.
Many thanks for your help!
Thanks for reporting back Brett.
You should be able to set up your 'final comp' such that it's Time Remap keyframes read the time stamp of Markers you place in your 'working comp' – this is to automate the Time Remap routine.
Lastly, I agree with your observation that AE is not intelligently rendering the datadrivern comp even when posterizeTime(0) invoked. Please file a Bug Report and include your AEP and TSV/CSV files in your Bug Report. It always helps when Engineering has a source file to dig into the issue.
It looks like your animation with the linked CSV file renders fairly quickly for the first few seconds, then starts slowing down. This actually kind of makes sense because the expression is going to reach back to the CSV file every time it goes to a new frame. I'm not sure how to stop that. Maybe a valueAtTime() call would help. You might get lucky and have Dan Ebberts take a peek at this thread.
If this was my project my comps would not be any longer than the time it takes to add a new set of data and move it onto the screen. I would then render the comps and do the editing in Premiere Pro. If I needed to extend the screen I would just make a cut and freeze frame or adjust the speed in Premiere so that the audio matches up. My average project is 30 minutes or more, but my average AE comp is less than 7 seconds. Any sequences that I create in AE are no longer than a sentence or phrase or 8 bars of music. Your video shows only a small portion of the comp revealed and that small section is more than 30 seconds. It looks like that comp is probably about six or eight minutes long. I never make comps that long because it is just way too cumbersome to do any editing.
If you must keep everything in one comp I would pre-compose that section that is using the CSV file, enable Time Remapping, and set a keyframe as soon as the animation stops and delete the last TR keyframe. See if that speeds up the previews and rendering.
Edit: I just made a test comp with 40 text layers and a CSV file. Adding valueAtTime(inPoint) does not change anything. Setting the in and out point of the layer to 1 frame does not change anything. My initial preview was 15 fps for the first 10 seconds of my 30-second comp then it crept up to realtime (30 fps) and it didn't seem to make any difference. I didn't notice any slowdown at all even whey I tripled the number of text layers.
I have noticed significant slowdowns in AE if you have a bunch of shape layers. Are you using the CSV file to do anything to shape layers? That might be the source of your problem.