Thursday, January 23, 2014

The New Scan Engine!

Screencap of the scanner log!
Hey guys! Been some time since I last posted. I understood the frustrations with the current scan engine. It is not working as well as i've intended it to be.  I have been working on the new scan engine since the last update.  Also, If you think HearthTracker is useful. I spent a lot of time developing this, and it is still on-going!  Please consider donating a few bucks! HearthTacker seeks your help.

Here is some of the improved areas of the new scanner:
  • The new scanner has massive speed  (like 100 times?) improvement. It is blazing fast, each image recognition (and we have about 60ish images to scan) cycle only takes an average of 5~10 ms on a modern CPU with a single thread. Even when we take into account of the whole cycle including the screen capture, HearthTracker still able process about 30~ frames per second. All that done without using any IF-ELSE conditions to filter images. Actual implementation will be even faster because we can reduce the images needed to be scanned by filtering them with IF-ELSE conditions.
  • Much lower CPU and memory footprint. it takes only about 1~5% CPU usage on maximum scanning speed and about 80ish MB of maximum memory usage. Actual usage might be even lower for the same reason above.
  • Improved on screen capture speed - it is like 10 times faster now.
  • It works on multi-monitor setup without using any workaround!
What all of that means? It means HearthTracker will be able to scan faster than our human eyes can see the images. It means HearthTracker will hardly miss anything. It means HearthTracker will track A LOT more things. For starters, it will be able to track Arena Draft soon which is one of the reason that motivated me to design the scan engine.

Stay tuned for the new and improved scan engine!

20 comments:

  1. Wonderful. Thanks for the update and keep it going!

    ReplyDelete
  2. i like your program, are you planing to publish source code?

    ReplyDelete
  3. Keep up the amazing work Mega !!!!

    ReplyDelete
  4. Great work! Do you ever think to add a more detailed win-loss page for a certain deck against different heroes?

    ReplyDelete
    Replies
    1. Yes, in fact i will add some of them by next version - together with the new engine.

      Delete
  5. how about a way to show the cards you and your opponent have played?

    ReplyDelete
  6. need an option to clear all stats

    ReplyDelete
    Replies
    1. you can just delete the data folder if you want to start fresh :P

      Delete
    2. yea. I've done that but couldn't that be a pretty easy option?

      Delete
    3. that also means users could accidentally clear their stats :P

      Delete
    4. umm. a big button that says "clear stats" is pretty self explanitory

      Delete
  7. I can't open the Jar file on my mac.
    My version off java is good
    java version "1.7.0_51"
    Java(TM) SE Runtime Environment (build 1.7.0_51-b13)
    Java HotSpot(TM) 64-Bit Server VM (build 24.51-b03, mixed mode)

    ReplyDelete
  8. Will this new scan engine be able to work in full-screen mode?

    ReplyDelete
    Replies
    1. nope, not yet. i have concerns about injecting codes into HS client.

      Delete
    2. to clarify, the only way to grab a full screen directx application screen is to hook into the direct3d api. which requires code injection, a.k.a dll hooking.

      Delete
  9. What about fullscreen mode in OS X, since it doesn't use DirectX.

    ReplyDelete
    Replies
    1. How di you get it working on OS X? i get the message can't open this jar file...

      Delete
    2. I have not yet been able to get it working on OS X, however I'm sure that Mega is aware of the situation and will look into it when he gets the chance. It seems like he's quite busy with this project and has a long list of things to fix, change, and add. Eventually we should get OS X support. (I hope!) :)

      Delete