Software Tuning, Performance Optimization & Platform Monitoring
Discussion regarding monitoring and software tuning methodologies, Performance Monitoring Unit (PMU) of Intel microprocessors, and platform updating.

Very slow skinning code on i7-14700K

TomasB
Beginner
161 Views

Hello there,

 

I've recorded a video explaining the issue in detail:
https://www.youtube.com/watch?v=TXRXd5gvkUY

 

TLDR:

We are using Unity 2022.3, skinning running on CPU (jobified) and it's abnormally slow on i7-14700K when we are using SSE conversion from F16 to F32 for normals/tangents and back. It's reported about 10-13ms long for a 34000 vertices mesh. In some other profiling sessions, it's just 3ms for no apparent reason. Still high, but not insanely high. The same code on AMD Ryzen is 0.9ms (7950x) or 2ms (Steam Deck). On older Intel CPUs like i7-11800H it's 1.5ms.

We thought the discrepancy on the i7-14700K between 13ms and 3ms would be explained by running on E or P cores, but forcing affinity exclusively to Performance cores didn't help. The same skinning code without F16<->F32 conversion finishes bellow 0.5ms.

 

Is there a known issue with _mm_cvtph_ps /_mm_cvtps_ph SSE on i7-14700K on P or E cores?
Could we make sure our job workers are running on P cores only using our engine code?

Best Regards,
Tomas

0 Kudos
0 Replies
Reply