кода много и в нескольких файлах. просто я по ходу делаю игру, я туда подставил.
тестировал на 10 000 000 спрайтов.
все равно сейчас использую другой способ так как SetViewPort() у меня используется в самопальной DrawImagePart(), а SetOrigin() не использую потому, что не все объекты должны "скролингизироватся"
.