몇가지 모드들을 M to N 밸런서용으로 사용할 경우 UPS에 어떤 영향을 끼치는지 궁금해서 실험을 해봤음
케이스1 : Warehousing + Miniloader
케이스2 : Schall Autolinked Chest + Miniloader
케이스3 : Belt Balancer
Miniloader 모드는 1*1사이즈의 적재기를 추가해주는 모드, 다만 겉보기에만 적재기고 사실은 스킨을 입힌 매우 빠른 투입기
Warehousing 모드는 3*3, 6*6 사이즈의 큰 상자를 제공해주는 모드
Schall Autolinked Chest 모드는 인접하여 연결된상자를 설치하면 자동으로 링크 맞춰주는 모드
Belt Balancer 모드는 미니로더 필요 없이 단독으로 밸런싱을 수행해줌(lua 스크립트로 동작)
3줄-4줄-5줄-6줄-5줄-4줄-3줄을 한세트로 보고 이걸 32세트 설치한 후 게임을 가속해서 UPS가 얼마나 나오나 볼거임
실험준비 완료
실제로 실험할 땐 다른 영향을 최소화 하기 위해 현재 테스트 대상이 아닌 다른 테스트 대상들은 철거하고 진행하였음
일괄적으로 64배속을 걸고 테스트를 진행해보자
케이스1 : 웨어하우스+미니로더
일단 입력을 끊어두고 이때의 UPS를 먼저 봤음
UPS : 3830
Entity update : 0.026
Script update : 0.044
벨트 가동을 시작하면?
UPS : 289
Entity update : 2.829
Script update : 0.123
미니로더는 스크립트로 동작하는게 아니라 그냥 투입기이기 때문에 스크립트 업데이트의 영향보다는 엔티티 업데이트의 영향이 큰 것을 확인할 수 있다
미니로더자체의 스크립트시간은 0.006으로 없는거나 다름없음
오히려 설치도 안한 밸트 밸런서가 0.041이나 사용하고 있다
케이스2 : 연결된상자+미니로더
가동 전
UPS : 3829
Entity update : 0.027
Script update : 0.042
케이스1의 상태와 같다
가동 중
UPS : 1028
Entity update : 0.612
Script update : 0.051
놀랍게도 엔티티 시간이 케이스1에 비해 크게 줄어들었다
예측으로는 테스트1에 비해 같거나 더 느려질거라고 예상했는데 오히려 더 빨라져서 의외인 결과였음
창고를 쓸때는 하나의 창고에 너무 많은 미니로더가 붙어 있어서 오히려 UPS가 안 좋아지는걸까?
케이스3 : 밸트밸런서
가동전
UPS : 251
Entity update : 0.037
Script update : 3.138
가동 전부터 UPS가 심상치 않다...
일 하나도 안하고 놀고 있는 밸트밸런서가 업데이트 시간을 3.09나 잡아먹고있다
가동 중
UPS : 103
Entity update : 0.207
Script update : 8.672
엔티티 업데이트 시간은 큰 변화가 없고 밸트밸런서의 업데이트 시간은 8.57까지 증가해버려 UPS가 103까지 떨어져 버렸다
60방어도 힘들어질 판
정리1
케이스1 웨어하우스+미니로더 | 케이스2 연결된상자+미니로더 | 케이스3 밸트밸런서 | ||||
가동 X | 가동 O | 가동 X | 가동 O | 가동 X | 가동 O | |
UPS | 3830 | 289 | 3829 | 1028 | 251 | 103 |
Entity Update | 0.026 | 2.829 | 0.027 | 0.612 | 0.037 | 0.207 |
Script Update | 0.044 | 0.123 | 0.042 | 0.051 | 3.138 | 8.672 |
M to N 밸런서가 필요하면 연결된 상자를 쓰는 것이 UPS도 좋고 웨어하우스에 비해 공간도 적게 사용된다.
괴상하게 만들어도 잘 작동함
Schall Autolinked Chest 모드에 단점이 있긴한데
자칫하면 밸런서 기능을 뛰어넘어 치팅용도로 사용할 수도 있고,
아이템이 들어있는 상자를 철거하면 아이템을 영구 유실할 위험성도 있으니 주의가 필요함
여기서 하나 궁금증이 들었다
가장 결과가 잘 나온 케이스2에서 미니로더(투입기)를 바닐라 적재기로 대체한다면?
케이스4 : 연결된상자 + 바닐라 적재기
가동 전
UPS : 3829
Entity update : 0.020
Script update : 0.042
미니로더를 쓰는 경우와 별 차이가 없다
가동 후
UPS : 1672
Entity update : 0.283
Script update : 0.046
미니로더 보다 빠르다!!
정리2
가동전 | 미니로더 | 바닐라 적재기 | |
UPS | 3829 | 1028 | 1672 |
Entity update | 0.020 | 0.612 | 0.283 |
Script update | 0.042 | 0.051 | 0.046 |
엔티티 업데이트의 경우 미니로더에 비해 2.1배정도 빨라졌고 그 결과 UPS도 더 잘 나오는 것을 볼 수 있었다
미니로더(투입기)가 UPS 친화적인 편이라고 해도 바닐라 적재기보다는 느리네
그래도 바닐라 적재기는 기차와 상호작용을 못하고 회로도 못 쓴다는 단점이 있어서 미니로더가 딱히 하위 호환인건 아님
와 진짜진짜 고맙다 어젠가 벨트밸런서 ups 질문글 올렸었는데 안그래도
궁금한건 직접 확인해봐야 제맛
벨트밸런서 모드가 좋긴한데 UPS에 진짜 안좋더라. 크라2 중반쯤 가서 게임속도 좀 느려지길래 확인해봤더니 얘가 Script 13ms 먹고있는거 보고 싹 다 일반밸런서로 갈아치우느라 몇시간 날려본 적 있음
링크드 체스트에 어케어케 미니로더처럼 투명한 투입기라도 설치해서 미니로더 없이 단독으로 쓸 수 있게 구현할 수 있다면 참 좋을 것 같은데
오토링크체스트 저 모드가 좋네 저거에 미니로더 써야겠다
상자용량이 너무 크면 ups에 안좋다는 얘길 들은적 있음 창고는 그게 문제인듯?
웨어하우스 그냥 상자인데 왜 링크드 체스트보다 느린지 궁금하네 ㅋㅋ
미니로더를 투입기라고함? 투입기는 로봇팔아닌감?
겉보기에만 로더고 실제로는 투입기에 스킨입힌거야
미니로더가 내부적으로 구현된 방법이 스킨씌운 개빠른 투입기라는 얘기임. 바닐라 로더는 투입기랑 별개의 로직을 가지고 있고
정리추
링크체스트가 바닐라 맵에디터에 있는 링크체스트 기능 써서 인접한 상자끼리 자동으로 연결하도록 하는 모드인가?
ㅇㅇㅇ