Xonotic Forums
Engine: cpu extensions - Printable Version

+- Xonotic Forums (https://forums.xonotic.org)
+-- Forum: Creating & Contributing (https://forums.xonotic.org/forumdisplay.php?fid=10)
+--- Forum: Xonotic - Development (https://forums.xonotic.org/forumdisplay.php?fid=12)
+--- Thread: Engine: cpu extensions (/showthread.php?tid=5880)



Engine: cpu extensions - kingtiger01 - 11-06-2015

Just had a concern, this is probably more suitable for Darkplaces, but getting a response around those forums is a crapshoot.

Anyways, i do have a concern. The engine currently is optimised for SSE/SSE2 extensions. Currently the code runs operations for intel-sse, specifically for skeleton/physics handling.

why exclusively MMX/SSE/SSE2, i dont understand. While it is more compatible with historic processors, its a bit archaic in terms of performance.
3dnow/SSSE3/SSE4 are much faster SIMD Extensions on newer Intel/AMD platforms, allowing faster memory handling, vector processing and better scaling. But there is also other SIMD's for non-x86 processors(neon{arm}, SPE{ppc}, MAX/RISC{HP}, VIS*{Sparc}, MIPS{misc/historic})

Inclusion of these extensions would speed up these platforms drastically, possibly exponentially(server).

PPC and ARM hurt quite a bit as a result of the lack of MMX/SSE extension. the generic method of processing skeletal/frame and physics, severely hampers these platforms performance. (first hand experience confirms this, {arm, cortex-a7}. The server performs tick operations extremely efficiently, with latency and very little cpu-cost. but physics operations[impact handling, object tracking, and skeletal handling], cause immediate spike in thread usage. the cost is so high, it causes latency on the thread of as much as 0-3ms.)

--

Thanks for taking the time to read that, if you think this is not something for Xonotic Developers to concern with, let me know, ill take this over to darkplaces corner of the net.

if there is anyway i can help, please let me know. ~Kingtiger01