- vừa được xem lúc

So sánh nhẹ Coroutine và Invoke

0 0 10

Người đăng: Phuong Le

Theo Viblo Asia

Phuongne - 31-10-2019


Roài, đây sẽ là một bài viết ngắn nên mình đi vào chi tiết luôn, khởi mở đầu giới thiệu dài dòng nhá anh em

Coroutine với Invoke là gì?

Invoke sử dụng để gọi một hàm thông qua tên của nó (string) với một thời gian trễ xác định, ví dụ mình sẽ gọi hàm SpawnObject sau 2s:

Invoke (``"SpawnObject"``, 2);

Hoặc cũng có thể gọi InvokeRepeating để gọi một hàm lặp lại theo thời gian xác định

InvokeRepeating(``"Spawn"``, 2, 2);

Coroutines cũng có thể sử dụng được như Invoke với các YieldInstruction như yield return new WaitForSeconds(2);, tuy nhiên linh hoạt hơn nhiều so với Invoke và có thể truyền các tham số vào Coroutines, các bạn có thể vào Coroutine để hiểu rõ hơn


Deactivated Game Objects

Invoke/Invoke Repeating vẫn hoạt động ngay cả khi disable script chứa nó hay disable cả gameObject.
Coroutines thì có sự khác biệt nhỏ, khi disable gameObject thì nó sẽ dừng chạy nhưng disable script thì nó vẫn chạy.

gameObject.SetActive(false) this.enabled = false
Invoke/ InvokeRepeating Vẫn hoạt động Vẫn hoạt động
Coroutines Dừng chạy Vẫn hoạt động

“Dừng chạy” ở đây nghĩa là dừng hẳn luôn, không có nghĩa là pause nên nếu active thì sẽ **không** tiếp tục chạy từ điểm dừng.

Bài viết ngắn nên mình chỉ so sánh nhẹ vậy thôi, bạn nào muốn xem performance của Coroutines và Invoke thì có thể xem ở ĐÂY nhé.

Performance giữa Coroutine và Invoke

Claims

Bài viết từ 2019 nên chỉ có giá trị tham khảo bạn nhé 😉

Nguồn tham khảo

https://learn.unity.com/tutorial/invoke-2d#5c8a6da9edbc2a067d4752d0

https://github.com/antfarmar/Unity-3D-Asteroids/wiki/Invoke-vs.-Coroutines

https://forum.unity.com/threads/invoke-almost-5x-faster-than-coroutine-performance-benchmarking.520959/

Bình luận

Bài viết tương tự

- vừa được xem lúc

Tạo setting game trên inspector.

. Chào các bạn,. Hôm nay chúng ta sẽ cùng tạo 1 setting/config cho game trên inspector nhé. Câu trả lời đó là khi chúng ta cần 1 cái gì đó để thao tác trong editor, trực quan nhất, không cần sửa code để cập nhật dữ liệu.... Và hẳn các bạn cũng từng làm việc với những value trên inspector rồi, ví dụ

0 0 17

- vừa được xem lúc

Hướng dẫn đưa nhân vật từ Mixamo vào demo.

. Chào các bạn. Bài này chúng ta chỉ tìm hiểu cách để lấy model, animation về, setting sao cho nó chạy được trong Unity để làm demo là ngon rồi nhé . Bước 1: Đăng nhập. Hãy tạo tài khoản nếu các bạn chưa có.

0 0 21

- vừa được xem lúc

Cơ bản về Rigidbody trong Unity3D

Phuong Le at 31-10-2019 - phuongne. Bài viết từ 2019 nên chỉ có giá trị tham khảo bạn nhé . . Rigidbody là gì.

0 0 13

- vừa được xem lúc

Một số folder đặc biệt trong Unity

Phuong Le 2019 - phuongne. Bài viết từ 2019 nên chỉ có giá trị tham khảo bạn nhé .

0 0 10

- vừa được xem lúc

Coroutine trong Unity là gì? Có liên quan tới Threads hay không?

Phuongne, Th11 17, 2019. Sơ qua một chút về Coroutine và StartCoroutine(.

0 0 8

- vừa được xem lúc

IEnumerator và IEnumerable

Phuongne, Th11 04, 2019. .

0 0 8