NGMsoftware

NGMsoftware
로그인 회원가입
  • 커뮤니티
  • 질문과 답변
  • 커뮤니티

    지식인! 질문에 답변을 달면 포인트가 지급됩니다.

    질문과 답변

    지식인! 질문에 답변을 달면 포인트가 지급됩니다.

    질문에 대한 답변을 3일안에 채택하지 않으면, 자동으로 첫번째 답변자가 채택되고 포인트는 100점이 차감됩니다.

    에디터 타이머 틱 등록 비동기 방식으로 루프 돌렸을때 꼬이는것 같습니다.

    페이지 정보

    본문

    순서대로

    1번 : AA1 엔터

    2번 : BB2 엔터

    3번 : CC3 엔터

    로 적용하여 타이머 등록을 하고 메모장에 테스트를 해봤는데 사진과 같이 스크립트에 텍스트 입력이 완료되기전에 다음 타이머가 실행되는게 보입니다..

    어떤식으로 만들어야 순차적으로 딱딱 맞게 할 수 있는건가요?

     

    그리고 액션 이동 및 액션 되돌아가기를 사용 안하고, 타이머 틱 등록만 하면 스크립트 실행 버튼을 누를 시, 

    설정한 실행 간격마다 반복되서 실행되는게 아니라 최초 1번만 실행 후 스크립트가 완료되었다고 아웃풋에  나옵니다.

     

    타이머를 반복으로 사용하려면 액션 이동이나 액션 되돌아가기를 사용하는 방법 밖엔 없는건가요?

    액션이동이나 액션 되돌아가기를 사용해서 타이머틱을 루프로 돌리면 아웃풋에 스케쥴러에 이미 추가되어 있다고 출력되는게 정상 인가요??

     

    답변 부탁드립니다.  

     

    GkSuwuP.png

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

    댓글목록

      채택답변
    profile_image

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

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

    음~~~ 설명이... 복잡하고 내용이 긴데요.
    우선, 타이머는 틱에 설정한 시간마다 반복합니다. 그래서 꼬일리가 없는데요.
    문제는 윈도우가 스레드로 처리하는데 한계가 있다는 것입니다. 그래서 일반적으로 하나의 타이머를 두고 사용하는게 안전합니다.
    아무튼, 위의 문제는 타이머 틱이 등록된 상태에서 되돌아가기를 하면 이미 등록된 타이머가 무시되기에 문제가 되는 방법입니다.
    모든 스레드는 매인에서 파생되기 때문에 매인이 멈추면 안됩니다. 따라서, 액션 이동을 빼고 지연을 999999999와 같이 최대로 설정하세요.
    그러면 동기화되면서 매인 스크립트가 중지되지 않을겁니다.

    profile_image

    낑쉬님의 댓글

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

    스크립트 실행간격은 각각 1초, 2초, 3초로 설정 했습니다.

    profile_image

    낑쉬님의 댓글

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

    2번째 질문인 타이머 루프관련은 해결 했습니다.
    스크립트 끝에 지연시간을 주니까 타이머로도 동작을 하네요.

    하지만 지연시간으로 줘도 텍스트 꼬임은 계속 있는것 같습니다 ㅠㅠ

    profile_image

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

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

    추가로 타이머의 스레드는 윈도우의 스레드풀에 할당됩니다. 이는 다른 프로세스의 우선순위에 영향을 받는다은 뜻입니다.
    이런 우선순위는 윈도우가 자동으로 판단하여 항상 갱신됩니다. 그렇기 때문에 어느 순간 우선순위에 밀리면, 다른 작업이 먼저 수행될 수 있습니다.
    완벽하게 해당 시점에 처리되길 원한다면 1프로세스에 1스레드로 처리하는게 좋습니다.
    1프로세스에 1스레드란 플레이어 하나에 스크립트 하나만 실행시킨다는 뜻입니다.

    profile_image

    낑쉬님의 댓글의 댓글

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

    현재 지연시간을 넣어서 메인스크립트 중지 되는것은 해결 했는데요..
    서로 다른시간에 텍스트를 치는 여러 타이머를 사용 할 일이 있는데, 이렇게 사용 하려면 어떻게 해야하는건가요..?