Ant Smith
donate to Ant Smith Print

Articles

Specifying a PC for Image Processing

Specifying a PC for Image Processing 2018
Monday 3rd December 2018 23:12pm

The Historical Context

I'm thinking about buying my next computer as HAL (my current PC's System Name) has a pair of 2-core 'Nocona' Xeons from circa 2005 which really aren't as impressive as they used to be - this dual CPU arrangement benchmarks at 930 versus 15,959 for the i7-8700k (according to CPU BenchMark). I know, that's a bit techy/geeky - suffice it to say that what was once a blisteringly fast server-class PC now limps along in comparison to the rest of the world.


My current PC then is running with a pretty dicky ticker - but it's 'probably' not possible to do a heart transplant by upgrading just the CPUs as I've installed the best that HP says the machine will support; annoying since the CPU Socket (604 mPGA) will take Xeon x7450 quad-core processors that benchmark at 8,721 (in a dual processor configuration) which would probably be good enough for me. There are tales of the HP motherboard immolating 'unsupported' processors though so I'm not going to try...


It's not THAT annoying though as the machine is stunted by more than just it's CPU. The RAM technology is the well out of date DDR2 whilst we now have DDR4 on the market which is two generations ahead and so much faster.


Because HAL has SATA III controllers I've been able to install an SSD for the system disk (which really gets him out of bed early in the day - booting in a minute or so versus the 10 minutes it used to take) - but the very best SSD speeds come from the NVMe technology not SATA and although I could fit a PCIe NVMe drive I couldn't use it as a system disk because the BIOS won't boot it!


Finally, HAL is a little slow when it comes to talking to other things. All of my connected devices (especially external backup disks) have to connect through USB2.0 because there are no USB3.0 ports on the motherboard. I could solve that by buying him a 2-port USB3.0 controller on a PCIe-4x card BUT I've already used up my only PCIe-4x expansion slot on my secondary SATA III controller so I could squeeze 3.5TB of storage into the machine... The USB2.0 ports means that making a backup of my internal 2TB data disk onto a portable 2TB USB disk takes about 24 hours.


Putting all of that together means that, unfortunately, HAL is pretty much the very definition of 'legacy'. The table below summarises all of these constraints:


Table 1. Hardware Limits
Type Current PC Potential Impact
Processor Dual Nocona Xeons Coffee Lake I7-8700k 16x
Memory Dual Channel DDR2@200MHz (2GB/s) DDR4-2666 (21.3GB/s) 10x
Boot Disk SATA III SSD (600 MB/s) NVMe (3500MB/s) 7x< /td>
Connected Devices USB2.0 (60MB/s) USB3.0 (640MB/s) 10x

So I need a new PC, and it's pretty clear what kind of specification will serve me well for the next few years (near latest generation technologies with spare disk capacity to support 250Gb/year consumption rate - given that the last 10 years currently all sit on 2.5TB of disk storage). My only real uncertainty is, how much RAM will I need?


The RAM Requirement Explored

Modern desktop PCs are generally limited to supporting 32GB of RAM and whilst that's 4x what I have today, will it actually be enough for the next 5 years or so? Do I need to buy a server class PC again so I can populate it with, say, 256GB of RAM - or is that just insane?


I mostly use the PC for writing and image editing, dabbling occasionally in video and 3D-modelling. Writing is utterly trivial (no, I mean from a PC performance perspective) and whilst video editing and 3D-modelling are extremely intensive, I don't do enough of either to warrant spending a lot of money on a machine to do those jobs (I'm quite happy to leave my PC rendering a 3D model overnight, especially in the winter when the heat generated by the maxed-out CPUs helps to keep the flat toasty warm).


So my outstanding question is, how much RAM really makes a difference in image editing?


First of all we need to consider headroom. I have Photoshop configured to use no more than 75% of my available physical RAM, so the operating system any other bits and pieces have room to breathe. Ideally I'd like Photoshop to use no more than 50% of the physical RAM.


But however much RAM I give Photoshop, I'd like it to have twice as much as it really needs to futureproof my workflow; bear in mind I've just upgraded my Nikon D700 (12MP) camera to the D750 (24MP), and it's quite possible that within a few years I'll be working with 48MP raw files.


And also, sometimes I need to work on 2 images at once, or sometimes I will be creating 'tessellations' (see Ant Smith Reflections) which double (or even quadruple, or more!) the size of image I'm working on; so I want to double (again) the amount of RAM I can commit to photoshop.


Put all that together and I ideally need 8x more RAM than is optimal for Photoshop to work on a single image from my current camera - so you can see why 8GB is looking a little limiting right now and why I am (was) drawn to a 256GB RAM machine...


Figure 1: Showing how RAM requirements multiplyMessage: DOMDocument::loadHTML(): Unexpected end tag : div in Entity, line: 1 in:/home/hp3-linc7-nfs2-z/922/1863922/user/htdocs/framework/itempage.php at:952