NGMsoftware

NGMsoftware
로그인 회원가입
  • 매뉴얼
  • 팁 앤 테크
  • 매뉴얼

    팁과 테크니컬 노하우를 확인하세요.

    팁 앤 테크

    팁과 테크니컬 노하우를 확인하세요.

    본 사이트의 컨텐츠는 저작권법의 보호를 받으므로 무단 복사, 게재, 배포 등을 금합니다.

    에디터 엔지엠 매크로의 멀티 스크립트 실행에 대한 차이점 알아보기. (Learn the difference between runnin…

    페이지 정보

    본문

    안녕하세요. 엔지엠소프트웨어입니다. 엔지엠 에디터와 플레이어는 스크립트를 멀티로 실행할 수 있는 여러가지 방법을 제공하고 있습니다. 시스템 또는 프로세스 관점에서 크게 2가지로 분류됩니다. 멀티 프로세싱과 멀티 스레딩입니다. 자세하게 설명하면 지루해질테니 간단하게만 알아볼께요. 엔지엠 매크로 관점에서 멀티 프로세싱은 아래와 같습니다. 프로그램별로 프로세스가 만들어집니다.

    ttLmKDW.png

     

     

    작업 관리자에서 보면 프로세스별로 프로그램들이 뜨는걸 알 수 있죠? 프로세스끼리는 서로 영향을 주지 않기 때문에 동시에 죽거나 문제를 일으키지 않습니다. 아래는 멀티 스레딩입니다. 하나의 프로세스 안에 여러개의 스레드로 동시에 작업하는걸 말합니다. 에디터 또는 플레이어에서 여러개의 스크립트를 열어서 실행하는 방식을 말합니다. 아래 그림에서 보면 스크립트가 1multi, 2multi, 3multi 3개가 열려 있습니다. 하나의 프로세스 안에서 3개의 스크립트가 각각의 스레드를 할당 받아서 동시에 실행됩니다.

    Brym1Q1.png

     

     

    이 스크립트들은 각자 왼쪽, 중간, 오른쪽을 2번씩 클릭하는 간단한 동작입니다. 실행(Ctrl+Alt+F8) 해볼까요?

    G60GpRQ.gif

     

     

    각각의 스크립트는 지연 시간을 주었습니다. 그래서, 순차적으로 동작하는것처럼 보이는데요. 만약, 고성능 컴퓨터에서 지연 없이 실행하면 거의 동시에 스크립트가 시작되서 같은 동작에 문제가 발생할수도 있습니다. 특히 에디터에서는 잘 되던게 플레이어에서 안되는 경우가 있는데요. 에디터는 플레이어보다 느리기 때문에 의도한데로 동작하는것처럼 보일수도 있습니다. 동작의 차이점을 확인하기 위해 옵션에서 지연 시간을 5초 정도 설정해보세요.

    cMMVaeB.gif

     

     

    다시 실행 해보세요. 차이점이 보이시나요? 하나의 스크립트로 동작할때는 문제가 발생하지 않겠지만, 멀티로 실행하는 경우에는 어떤 문제가 발생할지 알수가 없습니다. 잘 만든(?) 스크립트는 멀티 환경에서도 문제가 발생하지 않을 수 있습니다. 또한, 컴퓨터 성능에 따라 달라질수도 있습니다. 원래 멀티 프로세싱이나 멀티 스레딩은 상당히 어려운 부분입니다. 엔지엠 매크로는 이런 부분들을 사용자가 쉽게 조작할 수 있도록 만들어져 있습니다.

    ※ 이 기능은 6.1.0.21 부터 사용할 수 있습니다.

    z4Cp7jU.gif

     

     

    플레이어는 스크립트를 멀티로 열면, 실행 버튼이 멀티로 실행 해줍니다. 에디터는 전체 실행 버튼이 별도로 존재합니다.

    zGg39Kp.gif

     

     

    에디터는 옵션에서 전체 실행 지연을 3초로 설정해보세요. 플레이어에서 5초로 설정했더니 너무 느리네요^^;

    BjZxEeh.gif

     

     

    에디터도 플레이어와 동일하게 각각의 스크립트가 순차적으로 실행됩니다.

    CSwYq59.gif

     

     

    에디터는 각각의 스크립트를 개별 실행이 가능합니다. 여러개를 열었더라도 스크립트에 있는 실행 버튼을 클릭하면 됩니다. 플레이어도 스크립트를 개별적으로 제어할 수 있는 기능이 포함되어 있습니다. 아래와 같이 메뉴의 보기 > 스크립트 멀티 콘트롤러를 클릭하세요.

    CqQUZBV.png

     

     

    스크립트를 열어보세요. 그리고, 실행을 누르면 "다중 스크립트 제어" 창에서 모니터링이 가능합니다.

    QjF6W9U.gif

     

     

    다중 스크립트 제어창에서 스크립트 목록의 우측에 실행, 중지, 일시중지 버튼으로 각각 콘트롤이 가능합니다.

    STRunrv.png

     

     

    플레이어는 이외에도 [ 비활성 멀티 핸들 컨트롤러 ]를 이용해서 하나의 스크립트를 비활성으로 제어하는 기능도 가지고 있습니다. 프로그램(녹스나 엘디등등) 수 만큼 자동으로 생성해서 실행해주는 아주 강력한(?) 기능입니다. 이 기능은 에디터에 없는 플레이어만의 고유한 기능입니다. 비활성으로 다량의 프로그램을 제어할 때 유용하게 사용할 수 있습니다. 이외에도 제어하는 프로그램의 모니터링이나 상태를 한눈에 파악할 수 있는 기능도 있는데요. 이런 것들은 차차 하나씩 알아보도록 하고, 상황에 맞게 멀티 프로세싱(플레이어를 여러개 실행하는 방식)과 멀티 스레딩(스크립트를 여러개 실행하는 방식) 중에 적합한 것을 선택하시면 됩니다. 안정성 면에서는 멀티 프로세싱이 좋지만, 다수의 클라이언트 프로그램을 제어할 때는 CPU와 메모리를 작게 소모하는 멀티 스레딩이 유리합니다.

     

    개발자에게 후원하기

    MGtdv7r.png

     

    추천, 구독, 홍보 꼭~ 부탁드립니다.

    여러분의 후원이 빠른 귀농을 가능하게 해줍니다~ 답답한 도시를 벗어나 귀농하고 싶은 개발자~

    감사합니다~

    • 네이버 공유하기
    • 페이스북 공유하기
    • 트위터 공유하기
    • 카카오스토리 공유하기
    추천4 비추천0

    댓글목록

    profile_image

    형님님의 댓글

    no_profile 형님 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 작성일 Date

    엔지엠 플레이어 6 (Ultimate)
    에서는 멀티핸들 못잡나요?

    profile_image

    엔지엠소프트웨어님의 댓글

    엔지엠소프트웨어 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 작성일 Date

    앤터프라이즈 등급에 있는 기능입니다.