( bzt | 2024. 10. 27., v – 10:40 )

en ugy csinaltam akkor, hogy 24.8 fixpontos integerrel mukodott

Én is úgy csinálom.

mondjuk en kulon kezeltem azt az esetet ha x iranyban lepegettunk egyet es az y volt antialisolva (egymas alatt kellett 2 pixelt reszben alphasan megrajzolni) es kulon a masikat amikor y-ban ment egyesevel es az x volt tort. igy meg jobban lehetett optimalizalni...

Nem igazán. A mai gépeken akkor lenne ennek értelme, ha a ciklusmagban egyáltalán nem lenne "if", azonban mindenképp tudnod kell, hogy egy vagy két pixelt kell-e épp kitenni, így nem tudod az elágazást (és az azzal járó CPU predictive execution-höz tárolt instruction pipeline cache flush-ét) elkerülni, szóval túl sokat nem jelent, ha két ciklusra szeded szét. Sőt, ha így egy ciklusban teljes egészében belefér az instruction cache-be, akkor még esély is van rá, hogy nem történik instruction cache flush.

De ez csak a mai gépeken igaz, régen más volt a helyzet, akkoriban simán megérte szétszedni (sőt, az Intel pentiumos optimalizációs kézikönyve direkt ajánlotta is ezt a trükköt, "for if A else B" helyett "if for A else for B").