Proposal: Bump minimum CPU requirements for Blender

My CPU is a QuadCore “Intel® Core™2 Quad Prozessor Q9550”.
https://www.intel.de/content/www/de/de/products/sku/33924/intel-core2-quad-processor-q9550-12m-cache-2-83-ghz-1333-mhz-fsb/specifications.html

Since most of the rendering is done on the GPU, normally CPU instruction sets seem not to be so important at all. Especially OptiX denoiser for example only runs on the CUDA cores without any CPU usage at all (only upload/download to/from the GPU).

Yes, but the current implementation in Blender 4.1.1 works well without SSE4.2 and for for all Windows 10 builds it would be no additional cost to simply keep those implementations until maybe Windows 11 is the minimum requirement.

So please keep the already existing implementation of SSE2 (maybe optional) at least for all versions of Windows 10. Users with newer hardware would not be affected by this option at all, since they would never use that old code (when its skipped based on feature checking through the CPUID instruction).

That’s not really true though. These decisions to change the minimum requirements are never taken ‘just because’, but most probably because it is either needed for a new feature which would be hard to implement is sse2 or because maintaining the sse2 codepath takes a lot of developer time which isn’t really worth it anymore compared to the amount of people still using it.

It’s hardly ever as simple as ‘just leaving it in’. Since the rest of blender is changing constantly old codepaths need to be tested, maintained, bugfixed etc etc etc.

3 Likes

It’s not about leaving it on or not, by telling the compiler it’s allowed to generate sse42 code it will do a better job at generating code, and the majority of users will receive a performance boost of some kind because of that, should we keep that performance boost from them, just because a minor group of users may still run on a 15+ year old cpu?

Our unofficial rule is that the cutoff for old hardware is 10 years for the blender project, sorry to hear that 2008 - Q9550 didn’t make the cut, but we have to draw the line somewhere…

6 Likes

I understand that.

However, my CPU has SSE 4.1 and only these 5 instructions (of SSE 4.2) are missing:
CRC32
PCMPESTRI
PCMPESTRM
PCMPISTRI
PCMPISTRM
PCMPGTQ

You could create 2 versions of that .lib file of the same source code in Visual Studio with different settings and then link them together. Only invoking the version, which is needed based on available SSE features. That is the same, when you want to use AVX or AVX2. For them you also would be required to do that to support that for all newer hardware.

While certainly possible not quite as trivial as you make it sound, and that’s not how the blender project is setup right now, it will be a significant undertaking to make it work like that.

6 Likes

You simply use some Pre-Processor definitions of the global classes / functions to have 2 different sets of the same source files. So you get 2 implementations and then you simply can invoke one or the other class/function dependent on the CPU feature.

You simply…

no, no you don’t…

There’s variations of this problem we’ve run into in the past with cycles where AVX instructions leaked into a main codepath, like i said, it can be done, but must be done with great care, it’s far from trivial with a codebase the size of blender.

6 Likes

Not totally true. Even if you are using the GPU for the actual rendering, the CPU still has to process/prepare all that data, build BVH, etc and then pass it all to the GPU to load into VRAM and render it.

As such, there’s a fair chance your poor little old CPU is just slowing everything down, including the GPU.
At some point one just has to do an upgrade. While in the mean time, any older version of Blender will still keep working.

5 Likes

As LazyDodo said, we do our best to support hardware up to 10 years of age. Considering the SSE4.2 bump just happened a few months ago, we still support even older CPUs up to 15 years of age.

If you take a look at the Steam Hard & Software survey, 99.71% of all Steam users have SSE4.2. Also we were one of the last 3D DCC applications to bump the requirements, other software is on SSE4.2 or even AVX already for several years.

I understand your frustration, and I am sorry, but going back to SSE2 won’t happen.

8 Likes

Thank you for the info about the user survey.
What a waste of resources. People buy always the new stuff, and throw away anything, although it generally still works.
I’m not frustrateted at all. I simply won’t use Blender in the future then or stay on version 4.1.1 . And most of all the new “features” I don’t need anyway. More important always is and was the stable functionality of the model editor, since I always use my own raytracing renderer.

If it’s as simple as I think, but you might be able to download the Blender source code and build it for yourself with SSE4.2 turned off. That way you get all the new features and it still works on your computer until you decide to upgrade.

My main concern would be the libraries that Blender uses. The Blender foundation provide these libraries pre-compiled for ease of use, and they probably have SSE4.2 enabled by default now. You can build the libraries yourself with that setting turned off, but it’s probably going to be annoying to do if you don’t have experience in this area.

3 Likes

Not really. By the time I ‘throw’ something out it either no longer works or is so old that it’s not worth using any more. I mean a 300GB HDD isn’t exactly a lot of space these days, on top of being slow and using the drive bay and power that could have a more recent and fairly cheap 4TB drive.

Right now I’m still using my old Intel 6700K system (after 9 years) as my NAS server, which works just fine.

There’s another thing to consider as well and that is what your time is worth. Now sure, as the saying goes, its the artist not the tools, but make no mistake, the performance of those tools has an impact. On top of not being able to run the very latest software, having an old/slow system also has a creative impact.

There’s iterations and refinements that one just doesn’t do because it takes so long to test or see each change. Then there’s simply tests/experiments and exploration that you just don’t do since the hardware just can’t do it.

At some point one has to ask themselves, is it skill/knowledge/practice that is holding one back as an artist or is it the hardware you are using.

I’s argue that a 15+ year old PC for content creation doesn’t actually ‘generally work’ on a number of levels.

5 Likes

I strongly disagree. As you say, […]" its the artist not the tools, "[…]

For many things you don’t need any new system, if you can use the one you have. These new so-called “features” are often not needed for the most things at all. Its more important that the core functionality is good.
And memory sizes and CPU may make a difference for larger professional studios, but for most of the home/artist users it has nearly no advantage. Who is rendering hours of 3D animation every day? Most use it as hobby and when you for example take the model editor: Its fully functional. When you can use it to create the 3D assets you want, what do you need more?
Why should you always try to use new “tools” if the techniques you can use work for you? Wheen you paint “real” images, the tools have not really changed over long times.
So if you at least can use a system, which was in use for years, why should it suddenly be obsolete, only because others buy new stuff, which is not needed.
Especially when everybody now is so concerned about the environment, then it should be some sort of principle to support any existing hardware as long as possible. And many independent artists or hobbyists cannot simply all the time upgrade their stuff, since its not only the one device change. Such a change causes much more costs than that.
At some point any system may be outdated. But is it really too much, to simply at least keep the base compatibility for all existing devices?
I thought that is one of the advantages of this “Blender Community” that its done from and for the community and not linked to business goals.
And when people want to use AVX, AVX2 or future extensions, then you also would need to test for the features. Otherwise all those people have new hardware, which is not even used. So with the requirement of SSE4.2 and only that, then all newer features are excluded also, cause you would need to check for them safely as you need to check for SSE2 in the app. The amount of coding effort would be the same when generally implemented.
So providing fearture-related implementations normally should be the standard. And its a one-time effort, which only needs to be extended, if new extensions are available.

If you need a chainsaw and only have a pocket knife, the problem is most certainly the tool.

Well, for this one - you will. Or keep using the old software. You cannot have both. And writing 5 more paragraphs about the present usefulness of computers made in the previous century isn’t going to change that.

5 Likes

As you say, if you don’t need the new things, then don’t use the new versions. The old versions will continue to work for you, now and always. There is obviously nothing in 4.2 of value to you so I don’t know why you’re concerned about it. 4.1 has a long heritage of several successful open movie projects as well as 10’s of thousands of high quality pieces of artwork produced everyday. You will be fine using that; as you’ve said yourself over and over.

All you are doing is wasting others time in the hopes that they support what amounts to a toy for you. Go play with your toys elsewhere. Yes, at some point the system may be outdated. That point is now.

5 Likes

I am afraid this is going nowhere, therefore I am closing the topic.

5 Likes