Skip to main content
Inspiring
July 16, 2013
Answered

Does RAM speed matter?

  • July 16, 2013
  • 1 reply
  • 32655 views

Introduction:

     Hello, I ran some tests today to see if RAM speed really made any difference when it comes to After Effects. In short, my finding are that, no, it doesn't make any difference. At least not for the type of project I tested it with. Below are my findings, but first, my system specs.

System Specs:

Water Cooled Intel Core i7-3930K (4.3GHz OC)

120GB Sata II SSD for OS and Programs

256GB Sata III SSD for Project Files and After Effects Disk Cache

16GB (4x4GB) Corsair Vengeance RAM (Stock timings are 1600MHz @ 8,8,8,24)

1GB Nvidia GTX 460 SE

Test Project:

     The project consisted of 6 AVCHD videos played simultaneously and some very basic effects like corner pinning and cc wire removal. The After Effects Memory and Multiprocessing settings were as follows. 5GB reserved for other programs, 2 CPUs reserved for other programs, 2GB per core.

Results:

1333MHz, 12, 12, 12, 24 @ 1.57V

Render Time: 3:22

1333MHz, 7, 7, 7, 24 @ 1.6V

Render Time: 3:17

1866MHz 9, 9, 9, 24, @ 1.57V

Render Timer 3:14

1866MHz 12, 12, 12, 24 @ 1.57V

Render Time: 3:19

2133, 12, 12, 12, 24 @ 1.6V

Render Time: 3:15

Conclusion:

     So, from my testing I found that RAM stpeed really doesn't play a large role in this situation. However, after thinking about this for a bit I realized that this is probably due to the fact that my RAM needs to load data from and dump data to my SSD in this project. Even though my SSD is capable of over 500MB/s sustained R/W it's still not even remotely close to how fast any of those RAM speeds were.

     So, my question to you all then is this, can you recommend a type of project with effects that will primarily use the RAM without having to access my SSDs? While my tests show a good "real world" example of the effects of RAM speed they do not show the full picture. With your recommendations I will create a new project that will be a better gauge of the affects of RAM speed and add those findings to this thread.

    This topic has been closed for replies.
    Correct answer Mr Tech

    SATA III.  Vertex 4's.  I'm powering 10 of them an Areca 1882-IX-16 card, 4 of them with the built-in LSI 2308 chip on the AE11 motherboard, and 2 of them with the X79 chipset drivers.  

    Yeah....it's a big case.  But if you want to cram in 7 radiators, 50 fans, and 4 pumps....you need a little space.   


    Yeah... just a little space to fit that... you could literally fit 8+ of my towers inside yours and still have room.

    Anyway, I did some more tests and found out some more interesting things about finding the best RAM speed.

    Test Project

         Just a spinning rubix cube with 6 iterations of keylight to key out all the colors. The AE Memory and Multiprocessing settings were as follows: 5GB reserved for other programs, 2 CPUs reserved for other programs, 2GB per core. See original post for system specs. NOTE: I boosted the bore frequency a bit further to 4.427GHz during this test.


    Results:

    NOTE: Purged means that I "purged all" immediately before clicking the render button.

    1553 999 24 (32.839ns total latency)

    Time purged 1: 3:37

    Time no purge 1: 3:15

    Time no purge 2: 3:22

    1864 999 24 (27.360ns total latency)

    Time purged 1: 3:51

    Time no purge 1: 3:03

    Time no purge 2: 3:08

    Time purged 2: 3:09

    1864 999 22 (26.287ns total latency)

    Time purged 1: 3:41

    Time no purge 1: 3:08

    Time no purge 2: 3:07

    Time no purge 3: 2:48

    Time purged 2: 3:12

    2174 12 12 12 24 (27.599ns total latency)

    Time purged 1: 3:45

    Time no purge 1: 3:20

    Time no purge 2: 3:18

    Conclusion:

         These numbers all seem to be pretty conclusive that the most important part for After Effects renders is to have the lowest total latency possible. So if you are in the market for RAM, get whatever will give you the lowest total latency, even if that means going with the 1600MHz RAM over the 2400MHz RAM. The argument that the higher latency will be made up in transfer rate doesn't seem to apply here. This actually makes sense because a single address in RAM would have to contain almost 500MB in order to make up for just an 8ns difference in total latency. (Actual capacity of a single address is likely drastically smaller than this. I sent an email to Corsair to find out what the max capacity actually is. I'll post here again if they ever get back to me). So in the above example where cpachris can run either 1600MHz at 777 24 or 2133MHz at 10,11,10,30 he would be MUCH better off running at 1600MHz.

    Other Important Details:

         Intel says that the max RAM speed they recommend is 1600MHz (Haswell I think is 1866MHz though). I believe this is because intel cores (at least the ones I researched) come with a standard base clock (bclk) of 100MHz. Everything is based off of this bclk. Your CPU frequency is generated by multiplying the bclk by some number. So to get 4.4GHz you would multiply a 100MHz bclk by 44. Pretty simple. Now RAM has (I believe) a locked multiplier that is set to 8. Which means, 100MHz x 8 = 800MHz, times 2 for Double Data Rate (DDR), gives you 1600MHz. If you try to set your frequency higher than that WITHOUT changing the bclk then you RAM may very well still be running at 1600MHz, just with worse timings.

         Now, if you were to increase you bclk to 116.625 then your RAM frequency would become 116.625 x 8 x 2= 1866. The tests I ran support this. In the original post I had my bclk set to 100MHz (max RAM frequency of 1600MHz). That test showed that if I went over 1600MHz there were no benefits. In the next set of tests I only tested the min and max values so those don't give a full picture. In the last test I boosted my bclk to 116.5 which gave me a RAM frequency of 116.5 x 8 x 2 = 1864MHz. It was at this frequency that I yielded my best results. So, if you are using RAM rated for greater than 1600MHz I encourage you to try to boost your bclk to where it matches your RAM's frequency then run some tests to see if that makes a difference. I'll go back and try to run the same tests with 1600MHz to see where that falls to help either support or defeat my argument.

        If anyone disagrees with my above statements, please comment and let me know why so we can figure this all out. All of my conclusions are just based on some reading that I've done and what my test results show.

    EDIT:

         I just ran some more tests and got the following timings while running 1600MHz at 8,8,8,24 timing.

    1st set of tests:

    1600 888 24 (30ns total latency)

    Time: 3:14

    2nd set of tests:

    1600 888 24 (30ns total latency)

    Time:5:34

    The time difference between running 1600 and 1866 was minimal. It was exactly the same time for the first test and the 1600 time came in just 4 seconds slower than the 1866 timing. Compare the differences to running the same tests AFTER boosting the bclk and that gap increases to 15+ seconds. (comparing only the tests run at the higher cpu frequency since that plays a very large role in performance).

    1 reply

    Mylenium
    Legend
    July 16, 2013

    You would have to use an extremely memory hungry effect like Keylight or use extremely deep nesting with about 20 nested comps inside one another to see any delay in passing the buffers (not speaking about actually calculating them), but otherwise you won't see much influence. Nothing personal, but you are obsessing over something that is completely irrelevant for 99% of all users, including highend users. On an average project you just won't notice those 2 seconds and in most cases long before you will run into file I/O bottlenecks. Very few users will be able to have all their files on SSDs at all and most will not use highend models, but rather what they can afford. It's a moot point. Also without more detailed procedures you don't know how other processes on your system affect memory bandwidth. A single random scan of all active processes by your virus scanner could skew the result....

    Mylenium

    Mr TechAuthor
    Inspiring
    July 16, 2013

    Mylenium wrote:

    You would have to use an extremely memory hungry effect like Keylight or use extremely deep nesting with about 20 nested comps inside one another to see any delay in passing the buffers (not speaking about actually calculating them), but otherwise you won't see much influence. Nothing personal, but you are obsessing over something that is completely irrelevant for 99% of all users, including highend users....

    Thanks Mylenium, this is exactly what I've been looking for. I've searched for a while to get a straight answer on WHY RAM speed didn't matter. I've seen many posts where people say, "It doesn't make that much of a difference," but no one explained why. Now I see that the reason is simply because it is very rare to have a project where even "slow" RAM is the bottleneck due to frequently accessing the hard drive.

    However, that being said, I have recently finished a project that has 8 iterations of Keylight amongst mamy other effects in a project that has nearly 20 nested comps (maybe 18ish) where the deepest nest is I think 4 layers deep. The rest are 1 to 3 layers deep. I'm going to rerun some of these tests with this project to see if even this is enough to see a difference in RAM speeds.

    Before I run these tests though I do have another question. I have some temporal effects like Rotobrush in this project. Should I turn those layers off before running these tests or would that not have an affect on these test?

    As a preface to these tests I would like to reiterate your point that it is extremely rare that someone would have a project like this. This is definitely a 1 in 100 project for me and like you said, this won't apply to 99% of users. I would still like to follow through on these tests for that 1% though.

    Mr TechAuthor
    Inspiring
    July 17, 2013

    Alright, so I ran some more tests.

    Test Project:

         This project consisted of three 1080i AVCHD videos with three iterations of Keylight and a two layers with Color Finesse color correction applied. The After Effects Memory and Multiprocessing settings were as follows. 5GB reserved for other programs, 2 CPUs reserved for other programs, 2GB per core. See original post above for system specs. Note: I only tested the slowest and fastest RAM speeds because the render time difference was low enough that I didn't see it necessary to test the other timings.

    Results:

    1333 12, 12, 12, 24, @ 1.57v

    Time: 5:45

    2133 12, 12, 12, 24, 1.6v

    Time: 5:30

    Conclusion:

         This shows a slight difference compared to the last results. Here, there is a 4.5% decrease in render time when jumping from 1333MHz to 2133MHz. To give a better idea of how this affects overall performance let's look at what the render time difference would be for a similar project that takes 2 hours to render using 1333MHz RAM with the timings above. If you were to swap that RAM out with 2133MHz RAM with the same timings your new render time would be 1 hour and 55 minutes. Only a 5 minute savings.

         So there you have it. RAM speed and timings really don't matter when it comes to After Effects. So if you are in the market for RAM to use explicitly with After Effects save your self some money and don't bother getting the RAM at 2133MHz and higher. 1600MHz will suit you just fine. Take that money and invest it elsewhere.

         However, if you are going to be using the RAM for more than just After Effects like gaming or the like, then you'll have to do some more research to see what the benefits are for other programs/games/etc.

         I hope this helps someone!