GIC'23 Best programming talk!McPixel 3 was written from scratch in C and has so far been ported to Windows, Mac, Linux, iOS, Android, Nintendo Switch, Xbox, ...
Bawiłem się SDL3. Robiłem grafikę softwareowo. 4000 blitów 12x22px na klatkę za pomocą wbudowanej funkcji SDL_BlitSurfaceTiled z przeźroczystością za pomoca colorkey. Zajmowało to od 7 do 18 ms. Wydaje mi się, że gdybym napisał sam specjalizowane to byłoby wiele razy szybsze. Nie zrobiłem tak od początku bo się obawiałem różnych formatów bufora ramki.
Jaki render driver i wymiary docelowego recta?
Jeśli wypełniałeś po prostu jeden raz obszar o powierzchni 4000 kafelków, to spodziewałbym się lepszej wydajności.
Zmieniłem blitter na swój, specjalizowany. Losowe pobieranie z małych źródłowych buforów, liniowe zapisywanie do dużego FB. Zszedłem do 2ms bez optymalizacji specyficznych dla CPU.
Bawiłem się SDL3. Robiłem grafikę softwareowo. 4000 blitów 12x22px na klatkę za pomocą wbudowanej funkcji SDL_BlitSurfaceTiled z przeźroczystością za pomoca colorkey. Zajmowało to od 7 do 18 ms. Wydaje mi się, że gdybym napisał sam specjalizowane to byłoby wiele razy szybsze. Nie zrobiłem tak od początku bo się obawiałem różnych formatów bufora ramki.
Jaki render driver i wymiary docelowego recta?
Jeśli wypełniałeś po prostu jeden raz obszar o powierzchni 4000 kafelków, to spodziewałbym się lepszej wydajności.
Zmieniłem blitter na swój, specjalizowany. Losowe pobieranie z małych źródłowych buforów, liniowe zapisywanie do dużego FB. Zszedłem do 2ms bez optymalizacji specyficznych dla CPU.