이 글을 알게 된 계기는 어제 마인크래프트 개발자들이 모인 디스코드 방에서 누군가가 포탈을 열었기 때문이었다. 글의 내용인즉슨 이펙트립이 구리다는 말인데 글쓴이가 이펙트립이 랙이 걸린다는 근거는 두가지이다.


    1. 이펙트립은 파티클을 생성하기 때문에 서버에 부담을 준다.


    2. 이펙트립은 함수식 연산을 하기 때문에 서버에 부담을 준다.


    글쓴이가 갑자기 글 비공개를 해놓고 빤스런해버려서 사진 첨부 남아있는것만 가능하다.

    파티클이 안좋은 컴퓨터를 가진 클라이언트, 즉 유저들에게 살짝 랙을 유발하는 것은 맞다. 하지만 글쓴이의 주장은 서버에 부담을 준다는 것이다. 일단 이사람의 주옥같은 어록들을 꼽아보자면


    플러그인이 코딩 이기는것 봤습니까? 엌ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ

    일단 글쓴이는 매직스펠을 하는 사람같은데 자부심이 상당히 강해보인다. 그런데 이 사람의 글을 보면 그래도 서버 개발한다는 사람이 어떻게 마인크래프트 서버에 이리 무지할 수 있는지 헛웃음이 나온다.


    아무튼 개발자 방에 모여있던 사람이 포탈이 열리니까 주르르 반박글이 달렸다. 일단 대충 개발자들이 말로만 해본 반박을 정리하자면 이렇다.


    1. 파티클 생성은 서버에서 패킷을 전송함으로써 이루어진다. 파티클이 클라이언트에 보일때는 클라이언트가 서버에서 보낸 패킷을 받고 파티클을 렌더링 하기 때문에 서버에는 부담이 가지 않는다.


    2. 함수식 연산은 랙이 걸리지 않는다. 지금 글을 쓰는 이 순간에도 내 컴퓨터의 CPU는 그 함수식인지 뭐시기인지 연산하는것보다 더 큰 계산을 주구장창 하고 있다.


    그런데 이에 대해서 한다는 말이 '이론과 현실은 다르다' 라는 말이다. 아니 무슨 이게 만능 치트키도 아니고 어쨌든 원인이 있으니까 결과가 있는거지 좀 ㅋㅋㅋㅋㅋ 아무튼 그래서 실제로 랙이 걸린다면 랙이 걸리는 사례를 가져오라 하니 한다는 말이


    랙이 걸린다는 주장은 당신 혼자 한거 아니야?

    내가 궤변을 늘어놓을거라면서 영상을 가져오기 싫다는 글, 랙이 걸린다는게 사실이 맞긴 하나?



    ....

    하......

    .......

    어떻게 사람이 이렇게 말이 안통하나 싶다.


    그건 그 서버 관계자들에게 물어봐라 좀. 그 서버들이 랙 때문에 이펙트립을 안쓰는지 어찌 아나?


    전형적인 인과관계의 오류를 범하고 있다. 대규모 서버에서 이펙트립을 주력으로 쓰는 경우가 거의 없는 이유는? 낸들 어쩌라고 그 서버 관계자들이 알겠지


    아무튼 이 작성자의 궤변을 늘어놓자면 한도 끝도 없으니 GitHub에 올라온 EffectLib의 소스 코드를 토대로 이 분이 원하는 자바 코드를 좀 보여드리자



    자 이부분이 먼저 이펙트를 발동시키는 부분이다.

    사실 여기서 함수식 연산이 서버랙에 영향을 준다는 주장은 깔끔히 정리된다. 이 주장에 대한 반박을 알려면 동기와 비동기의 개념을 알아야한다.

    프로그램을 구동할 때는 여러 개의 스레드가 생성되는데 스레드란 간단히 말해서 프로그램의 실행 흐름이다. 동기는 버킷의 메인 스레드와 같은 스레드에서 작동되는 것이며 비동기는 다른 스레드에서 작동하는 것이다. 버킷의 메인 스레드는 플레이어 움직임, 블럭 설치/파괴 등의 움직임을 담당하는데 따라서 서버 랙이 걸린다는 것은 이 메인 스레드에 부하가 온다는 것이다.

    다시 말해서, 메인 스레드와 다른 스레드에서 작동되는 비동기 방식은 서버 랙을 줄수 없다는 것이다.



    이것이 파티클을 생성하는 코드이다.

    보기에는 길어보이지만 저 많은 코드가 0.x ms 단위로 처리된다는 점 알기를 바란다. 말 그대로 눈 깜짝할 새다.


    아무튼 이렇게 원하는 자바 코드까지 가져왔는데도 불구하고 어떤 궤변을 늘어놓을지 진심으로 기대되는 바이다. 현재 글쓴이는 모 서버의 개발자에게 팩트폭격을 맞고 꼬리를 내린 상태이다.


    https://m.blog.naver.com/angryko/221409632487


    그럼에도 불구하고 정신승리를 멈출수 없는 그분


    아무튼 내가 바라는건



    Posted by L.H