직진하는거랑 옆구리에서 끼어들어오는게 있으면 무조건 직진이 우선하는 줄 알았는데 꼭 그런것도 아니였네
조금 충격임
그와중에 시간 좀 지나다보면 아무것도 안건드려도 직진 우선으로 바뀌긴 함
댓글 18
그냥 만들때 먼저 흐르던놈 부턴가?
익명(223.39)2023-01-14 03:49
와 시발 이건 념글감 아니냐?
익명(rawore)2023-01-14 03:50
글 내용 추가했는데 최종적으로는 직진우선으로 바뀌긴함. 그냥 직진으로 바뀌었다는 사실을 인지하는데 시간이 좀 필요한듯 ㅋㅋ...
이파(dc8626)2023-01-14 03:52
답글
희안하게 작동하네
익명(1.248)2023-01-14 04:15
오 나 이거 어제 겜하면서 직관했는데 타이밍맞게 갤글나오네 잠깐 사이에 이것 때문에 메인버스 섞였음ㅅㅂ..
익명(121.146)2023-01-14 07:50
답글
일반적으로 저런 구조를 쓰면 안됨
잠깐이라도 풀벨 풀리면 다 섞이는데 이런 구조를 왜 씀
익명(211.204)2023-01-14 15:55
뭐지ㄷㄷ 벨트 최적화하면서 언제 바뀌기라도 했나 - dc App
루리b(aurther341)2023-01-14 08:19
전부 풀벨트 기준이면 결국 직진우선이 되는듯
익명(122.42)2023-01-14 10:01
Deterministic하게 굴러가는게 아닌거냐? 특정 인터벌마다 체크를 싹 돌리는건가.. 이거 언제 일어나는지 계산만 할수있다면 최적화에 써먹을수도 있을텐데
고속도로(highwaystarjojo)2023-01-14 11:29
답글
갭이 있다면 거기에 연산 소모해서 흐름이 자연스럽게 이어지게 하겠지만 갭없이 풀벨트라면 연산 최소화를 위해 원래의 흐름을 그대로 유지하는 느낌?
이파(dc8626)2023-01-14 14:17
답글
밸트 갭 채우는 로직이 몬가 이상하게 작동하는거 아님?
미나물코토리(nyaa712)2023-01-14 15:19
답글
벨트위에서 아이템 압축되다가 펑 하고 터지는거 아닌가 하고 생각함
익명(211.204)2023-01-14 15:55
화살표가 저렇게 한단위로 데이터 처리한다는 뜻이야?
익명(175.124)2023-01-15 11:23
답글
ㅇㅇ 아마도
이파(dc8626)2023-01-15 12:35
팩토리오는 결정론적으로 작동해야 하기 때문에 (상호작용 없어서 몇몇 멀티쓰레딩 가능한부분 제외하고)모든 엔티티가 순차적으로 업데이트 돼야하는데 건물 지은 타이밍이나 청크 내 위치 등등에 따라 내부적으로 업데이트 순서를 매김. 아마 이것때문에 옆구리쪽이 우선순위를 가져갔던거같음
관련 있을지도 모르고 없을지도 모르는 내용이지만 해당 글 사진에 보이는 디버그 켰을때 나오는 주확색 동그라미는 벨트 위에 빈공간이 있는지 체크하는건데
이게 투입기가 체크하는 것보다 sideloading하는 벨트가 체크하는게 더 연산효율이 높다함
그래서 막 30k 40k 찍는 기가베이스들은 거의 꽉 찬 벨트에 올려놓을 일이 있으면 투입기로 바로 올려두는 대신 한두칸 정도 되는 짧은 벨트로 올려두고 그걸 사이드로딩하는 식으로 최적화를 진행함. Stub tech라 부르더라고
그냥 만들때 먼저 흐르던놈 부턴가?
와 시발 이건 념글감 아니냐?
글 내용 추가했는데 최종적으로는 직진우선으로 바뀌긴함. 그냥 직진으로 바뀌었다는 사실을 인지하는데 시간이 좀 필요한듯 ㅋㅋ...
희안하게 작동하네
오 나 이거 어제 겜하면서 직관했는데 타이밍맞게 갤글나오네 잠깐 사이에 이것 때문에 메인버스 섞였음ㅅㅂ..
일반적으로 저런 구조를 쓰면 안됨 잠깐이라도 풀벨 풀리면 다 섞이는데 이런 구조를 왜 씀
뭐지ㄷㄷ 벨트 최적화하면서 언제 바뀌기라도 했나 - dc App
전부 풀벨트 기준이면 결국 직진우선이 되는듯
Deterministic하게 굴러가는게 아닌거냐? 특정 인터벌마다 체크를 싹 돌리는건가.. 이거 언제 일어나는지 계산만 할수있다면 최적화에 써먹을수도 있을텐데
갭이 있다면 거기에 연산 소모해서 흐름이 자연스럽게 이어지게 하겠지만 갭없이 풀벨트라면 연산 최소화를 위해 원래의 흐름을 그대로 유지하는 느낌?
밸트 갭 채우는 로직이 몬가 이상하게 작동하는거 아님?
벨트위에서 아이템 압축되다가 펑 하고 터지는거 아닌가 하고 생각함
화살표가 저렇게 한단위로 데이터 처리한다는 뜻이야?
ㅇㅇ 아마도
팩토리오는 결정론적으로 작동해야 하기 때문에 (상호작용 없어서 몇몇 멀티쓰레딩 가능한부분 제외하고)모든 엔티티가 순차적으로 업데이트 돼야하는데 건물 지은 타이밍이나 청크 내 위치 등등에 따라 내부적으로 업데이트 순서를 매김. 아마 이것때문에 옆구리쪽이 우선순위를 가져갔던거같음
내부적 업데이트 순서 따라 영향받는건 이거 말고도
https://gall.dcinside.com/mgallery/board/view/?id=factorio&no=45783
연결상자 작동방식도 관련있을거같고
이제는 2.0 업데이트하면서 사라졌지만 파이프 유속도 어디서부터 짓냐에 따라 약간 달라졌었고 념글에 있는 서로 분리된 네트워크에 걸쳐있는 축전지라던가 등등 평범하게 게임하면 눈치챌일 잘 없는부분에서 약간씩 드러나게 됨
좀 기다리다보면 바뀌는건 3천에서 9천틱 주기로 transport line merging이 진행되면서 그렇게 되는게 확실해보이고
https://www.reddit.com/r/technicalfactorio/comments/r6ye86/mechanics_of_transport_line_splits/
얼마전에
포럼에서도 이 일관적이지 않아보이는(하지만 실제로는 매우 결정론적인) behavior에 대해 불평하는 글을 본거같은데 개발자는 딱히 고칠생각이 없어보였음. 이건 링크를 못찾겠네
관련 있을지도 모르고 없을지도 모르는 내용이지만 해당 글 사진에 보이는 디버그 켰을때 나오는 주확색 동그라미는 벨트 위에 빈공간이 있는지 체크하는건데 이게 투입기가 체크하는 것보다 sideloading하는 벨트가 체크하는게 더 연산효율이 높다함 그래서 막 30k 40k 찍는 기가베이스들은 거의 꽉 찬 벨트에 올려놓을 일이 있으면 투입기로 바로 올려두는 대신 한두칸 정도 되는 짧은 벨트로 올려두고 그걸 사이드로딩하는 식으로 최적화를 진행함. Stub tech라 부르더라고