Sto scrivendo un gioco XNA in cui eseguo controlli di collisione per pixel. Il ciclo che verifica ciò avviene spostando un ORing bitonale e int e generalmente è difficile da leggere e capire.Posso controllare se il compilatore C# ha delineato una chiamata al metodo?
Vorrei aggiungere metodi privati come private bool IsTransparent(int pixelColorValue)
per rendere il ciclo più leggibile, ma non voglio il sovraccarico delle chiamate ai metodi poiché questo è un codice molto sensibile alle prestazioni.
C'è un modo per forzare il compilatore a incorporare questa chiamata o lo farò? Spero solo che il compilatore faccia questa ottimizzazione?
Se non c'è un modo per forzare questo, c'è un modo per verificare se il metodo è stato inarcato, a meno di leggere lo smontaggio? Il metodo verrà visualizzato in riflessione se è stato allineato e nessun altro chiamante esiste?
Modifica: Non riesco a forzarlo, quindi posso rilevarlo?
È possibile (in .Net 4.5). usando: '[MethodImpl (MethodImplOptions.AggressiveInlining)]' – Mahmoodvcs