Nie chcę mi się wierzyć, że tego nie było na Wykopie i ktokolwiek interesujący się gamedevem tego nie wie. Ale w razie był się mylił wykopuję:)
Edit: takich trików w sztuce programowania jest cała masa, np. większość walcząca z mikrokontrolerami pewnie kojarzy przesuwanie bitów jako zamiennik typowego mnożenia/dzielenia.
Jedna instrukcja, która trwa conajmniej 40 cykli (Core 2). Co sprytniejsze kompilatory (dla x86 chyba większość) przy ustawionej odpowiednio optymalizacji widząc wielokrotne dzielenie przez tą samą stałą wykona optymalizacji do ekwiwalentnego działania ale bez użycia tej instrukcji. Albo połączy to dzielenie z innym działaniem, w którąś z instrukcji SSE itp.
@MacDada: Wiem. Ale dokładanie RAMu to uproszczenie dzisiejszego sposobu na programowanie. Dziś liczy się raczej czas kiedy programista coś naklepie a nie musi być aż tak super oszczędne w zasoby. Oczywiście mówię tu o aplikacjach innych niż te wbudowane np. w GPSy czy gry komputerowe. Bo stoi sobie taka aplikacja na serwerze który może mieć parę rdzeni, kupę RAMu a klient to tylko przeglądareczka.
Jestem programistą, pracuję modyfikując kod źródłowy aplikacji
Komentarze (119)
najlepsze
Komentarz usunięty przez moderatora
Komentarz usunięty przez moderatora
Edit: takich trików w sztuce programowania jest cała masa, np. większość walcząca z mikrokontrolerami pewnie kojarzy przesuwanie bitów jako zamiennik typowego mnożenia/dzielenia.
Jedna instrukcja, która trwa conajmniej 40 cykli (Core 2). Co sprytniejsze kompilatory (dla x86 chyba większość) przy ustawionej odpowiednio optymalizacji widząc wielokrotne dzielenie przez tą samą stałą wykona optymalizacji do ekwiwalentnego działania ale bez użycia tej instrukcji. Albo połączy to dzielenie z innym działaniem, w którąś z instrukcji SSE itp.
@koszernyrozum:
No nie wszędzie ma się taki duży wybór kompilatorów. Dla mikrokontrolerów masz zwykle jeden, może dwa, z czego
Ja się tylko czepiam, że przesunięcie bitowe to nic skomplikowanego. Co do reszty to masz rację.
chociaż...
http://i1.kwejk.pl/site_media/obrazki/2011/12/684770702890c1dde2239a3cad30871c.jpg?1323373715
to takie typowe
Jestem programistą, pracuję modyfikując kod źródłowy aplikacji