1. Tải bản cài đặt AutoIT mới nhất

    Chào Khách. Nếu bạn mới tham gia và chưa cài đặt AutoIT.
    Vui lòng vào topic trên để tải bản AutoIT mới nhất nhé
    Dismiss Notice
  2. Quy định và nội quy

    Chào Khách. Vui lòng đọc kỹ nội quy và quy định của diễn đàn
    Để tránh bị ban một cách đáng tiếc nhé!
    Dismiss Notice
  3. Hướng dẫn chèn mã AutoIT trong diễn đàn

    Chào Khách. Vui lòng xem qua bài viết này
    Để biết cách chèn mã AutoIT trong diễn đàn bạn nhé :)
    Dismiss Notice

Hỏi đáp Xin hướng dẫn xóa memory khi dùng imagesearch quá nhiều

Thảo luận trong 'Thảo luận chung - Hỏi đáp' bắt đầu bởi tuanngakhoi, 5/11/18.

  1. tuanngakhoi

    tuanngakhoi Thành viên mới
    • 3/6

    Tham gia ngày:
    19/9/18
    Bài viết:
    4
    Đã được thích:
    0
    Khi dùng Imagesearch trong vòng lặp while nhiều lần sẽ làm máy bị chậm phải không ạ. Xin chỉ mình cách khắc phục ạ
     
  2. yutijang

    yutijang Thành viên năng động
    • 28/34

    Tham gia ngày:
    1/7/18
    Bài viết:
    110
    Đã được thích:
    61
    Vậy bạn cũng không chắc hoặc không biết nó có thực sự làm chậm máy phải không? Trong bất cứ vòng lặp nào, để tránh tình trạng leak memory hoặc tổn thương chip CPU, thì nên thêm sleep(), ít nhất cũng sleep(10) :) hoặc dùng _WinAPI_EmptyWorkingSet()
     
    Chỉnh sửa cuối: 5/11/18
  3. tuanngakhoi

    tuanngakhoi Thành viên mới
    • 3/6

    Tham gia ngày:
    19/9/18
    Bài viết:
    4
    Đã được thích:
    0
    Mình thấy có người làm như vầy
    while 1
    $search=_Imagesearch('hinh.bmp',1,$x,$y,0)
    if $search=1 then
    .....
    endif
    $search=''
    endwhile
    Cho các biến tìm hình =''
    Mình áp dụng thử và thấy có hiệu quả, máy ít lag hơn, đúng không nhỉ :)
     
  4. yutijang

    yutijang Thành viên năng động
    • 28/34

    Tham gia ngày:
    1/7/18
    Bài viết:
    110
    Đã được thích:
    61
    Như mình có nói, tốt nhất nên thêm sleep() cho bất cứ vòng lặp while wend, do until, for next. Làm vậy sẽ tốt cho máy tính của bạn :)

    Nếu script ở trên không thêm sleep() và đặt khoảng thời gian để tìm cho đến khi nào thấy ảnh hoặc lặp vô tận như vậy mà không có lệnh thoát vòng lặp thì bạn sẽ thấy cpu hoặc ram vọt lên chóng mặt trong task manager :D

    Với script ở trên, mình thấy nó chỉ tìm desktop region, nếu tìm với $HBMP thì phải cần thêm một thao tác nữa, ngoài sleep() :)
     
    Chỉnh sửa cuối: 5/11/18

Chia sẻ trang này

Đang tải...