(04-14-2014, 08:48 PM)MaXiMu Wrote: I have one question will be in a future version support first version AVX? or not much help compared than SSE4.1 ?from my experience, only SSE4.1 and AVX2 are interesting enough to support.
SSE4.1 has enough instructions to handle up to 4 pixels per operation efficiently
AVX2.0 has enough instructions to handle up to 8 pixels per operation efficiently
AVX is too incomplete to be efficient.
Renderer is extremely dependent about cpu power. Right now, it is mostly executed in a mono-core fashion. While a parallel execution of several cores is possible (@gid15? is that stuff working or is it just a wip?), I'm not sure it is safe or efficient enough to use it. Personally I think it needs some rethinking as I really don't like to let Java uses threads to make parallel execution.
Renderer is not dynamically generating assembly code in all case as I wish. While some vertex operations are done this way, pixel operations are still not done this way (they are just a chain of static pixel operations). Compiler can make a good job but static code are still limited in flexibility. Note that the fact you must support both x86 and amd64 makes the dynamic generation of assembly code much harder as they have too many subtle differences that prevent from sharing common source.