4 ms·
"Nearly all of GDI was written in assembly language in versions of Windows up to and including the Windows 95 family. In that era, being able to not only read b
by faragon 9y ago
"Nearly all of GDI was written in assembly language in versions of Windows up to and including the Windows 95 family. In that era, being able to not only read but also write assembly language was a core developer skill."
For graphics, today it is an important skill to write inlined SIMD optimizations: using language "intrinsics" instead of pure assembly (you can write inline assembly, too, but in most cases it is enough using intrinsics for reaching 80-90% of max performance, avoiding manual register allocation handling).
- slededit 9y agoUsing intrinsics leaves a lot of performance on the table if there is any register contention. Even Intel's compiler doesn't do that good a job. I've seen gains of over 2x by hand coding.
- faragon 9y agoSure, specially with some operations, e.g. code requiring "shuffle" operations [1], which use constants for programing byte reordering, having most compilers problems on complex functions, where because of register pressure some "shuffle" constants are moved in and out from the registers (even when using the "register" keyword for 'helping' the compiler). [1] https://software.intel.com/en-us/node/524215 https://software.intel.com/en-us/node/524215