CPU vendor agnostic performance optimizations
Posted: Fri Mar 13, 2009 4:22 pm
I recently tried to run some ogre apps on my HP 2133 Laptop which has a VIA C7-M processor. While the performance was really bad (as I expected), I also noticed that Ogre.log says that no MMX, SSE, etc. are being used:
Since the CPU supports MMX, SSE, SSE2 and SSE3 (oh yes, and a FPU
), I investigated further and noticed that in OgrePlatformInformation.cpp, the feature detection only distinguishes between the vendor strings "GenuineIntel" and "AuthenticAMD", otherwise all optimizations are disabled.
Since there are other x86 CPU manufacturers out there and the usage of netbooks & nettops with alternate CPUs (e.g. VIA Nano) will increase, I think it wouldn't hurt to make feature detection aware of other CPUs.
Code: Select all
19:03:07: CPU Identifier & Features
19:03:07: -------------------------
19:03:07: * CPU ID: CentaurHauls: VIA C7-M Processor 1600MHz
19:03:07: * SSE: no
19:03:07: * SSE2: no
19:03:07: * SSE3: no
19:03:07: * MMX: no
19:03:07: * MMXEXT: no
19:03:07: * 3DNOW: no
19:03:07: * 3DNOWEXT: no
19:03:07: * CMOV: no
19:03:07: * TSC: no
19:03:07: * FPU: no
19:03:07: * PRO: no
19:03:07: * HT: no
19:03:07: -------------------------
Since there are other x86 CPU manufacturers out there and the usage of netbooks & nettops with alternate CPUs (e.g. VIA Nano) will increase, I think it wouldn't hurt to make feature detection aware of other CPUs.