inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Tìm hiểu web tương tác bằng cách tạo trò chơi trên web! JAVASCRIPT

requestanimationframe 성능관련 궁금증

594

suhyeon kim

3 câu hỏi đã được viết

0

안녕하세요 좋은 강의 잘 참고해서 재밌게 만들어보고있습니다. ^^

requestanimationframe을 사용해서 애니메이션이 부드럽게 잘 이동합니다만

애니메이션 종료를 따로 설정해주지 않으면 renderGame()은 무한히 반복될텐데 성능에 문제가 없을까요?

bulletComProp.arr와 allMonsterComProp.arr의 경우 충돌하거나 사라질때 배열에서 삭제하기때문에 순회할게 없어 동작이 안된다고하더라도 hero.keyMotion 혹은 setGameBackground는 console로 찍어보니 값이 무한히 반복해서 성능에 문제가 되지 않을까 고민해보게 되네요

답변주시면 감사하겠습니다

정말 감사합니다.

HTML/CSS javascript 인터랙티브-웹

Câu trả lời 1

0

ggangcoding162118

안녕하세요 :)

일반적으로 requestanimationframe을 종료하지 않으면 반복문이 계속 돌고 있는 상황이기 때문에 자원에 영향을 끼칠 수 있습니다. 하지만 단순히 requestanimationframe 1개의 함수를 따지고 봤을때 큰 자원 낭비는 아닌데요. 말씀하신대로 requestanimationframe안에서 또 다른 반복문이 계속 실행 된다던지 아니면 또 다른 requestanimationframe이 동시에 많이 실행된다면 성능에 큰 영향을 끼칠 수도 있습니다.

마지막으로 쉽게 생각해보면 웹에서 슬라이더를 사용할때 자동 재생하는 기능이 있죠?

그 기능 역시 requestanimationframe같은 반복문이 계속 실행중인거라 이것과 비슷한 성능 수준을 생각하시면 될 것 같습니다.

물론 여러가지 상황을 고려해 사용자가 게임을 종료했을때는 requestanimationframe을 종료하는 방법을 사용해도 상관 없습니다 :D

그럼 또 다른 궁금증이 생기면 문의주세요 :)

1

suhyeon kim

와우 웹슬라이더를 생각해보니 딱 느낌이 오네요 스탑버튼을 따로 만들지 않아도 큰 문제없는 그런 성능!! 빠른답변 정말 정말 감사합니다 이해가 확 되었어요 ㅎㅎ :) 좋은 하루 보내세요

6-6

0

16

1

Json 플러그인 사용시 variable collection 없음

0

15

1

프로젝트 완성본 보내주실수 있나요?

0

51

1

캐릭터 기본 모션 만들기에서 포토샵에 열라고하는데 포토샵없으면 어떻게하죠? 공짜버전있나요?

0

191

1

renderGame 함수에 로그를 찍으면 무한루프가 돕니다

0

282

1

수리검이 날아가지 않습니다

0

221

1

수리검 방지턱(?) 현상

0

486

2

frame 질문합니다.

0

341

2

개발툴은 어떤걸 사용하나요?

0

293

1

e.which에 대한 질문입니다.

1

602

1

수리검이 사라집니다

0

272

1

const 변수 및 Arrowfunction 방식 질문

0

423

2

몬스터나 npc의 위치가 일정 크기를 넘어가면 히어로가 사라집니다.

0

191

1

수리검 방향 전환 처리에서 간단한 질문 있습니다.

0

219

1

마이너스 좌표값(?) 사용

0

739

1

코딩작업하고 웹화면 띄워서 확인하는 방법?

0

522

2

캐릭터가 점프하면서 앞으로 나아가게 만들고있습니다

0

383

1

전체 이미지에서 원하는 부분만 컷하고 싶어요(사진첨부)

0

478

1

질문있습니다.

0

196

1

깃헙 레포 질문드립니다.

0

250

1

캐릭터 기본 모션 만들기, 경로가 인식이 안되요.

0

291

1

몬스터가 참조가 안되는 이슈가 있습니다.

0

346

1

기초적인 질문이라 부끄럽지만 질문 드립니다

0

404

1

공격키를 연속으로 누를때 처리하는 방법 질문 드립니다

0

928

2