A few big additions : 1.4.00
Released: TheMiner 1.4.00
I’ll skip the usual “we fixed bugs” part, and go straight to what’s new and interesting!
Here is a quick overview of the biggest additions:
A UserEvent is a event created by the developer in the application that will communicate with TheMiner to show up in a specific tab of TheMiner (UserEvent tab).
The event can be pushed to TheMiner in two ways:
- TheMiner.AddBasicUserEvent(aEventName:String = null, aEventValue1:* = null): UserEventEntry
- TheMiner.AddCustomUserEvent(aEventName:String = null, aEventInfo:String = null, aEventValue1:* = null, aEventValue2:* = null, aStatusBarLabel:String = null, aStatusBarProgress:Number = -1, aStatusBarColor:uint = 0xFF000000, aEventSortPriority:int = 0, aEventVisible:Boolean = true, aError:Boolean = false): UserEventEntry
This is what it can look like:
static/dynamic Logging platform
Logging is pretty straight forward? wrong. This can easily become a mess.
In this new version,you can use a sub-set of FlashConsole, well integrated with TheMiner.
using simple command such as
//Simple log TheMiner.Log("My Simple Log"); //Log to a specific channel TheMiner.Log("Simple Channel Log","MyChannel");
//Inspecting(dynamic log) a Class definition TheMiner.Log("Inspecting a class","Inspect"); TheMiner.InspectObject(MyClassToInspect, "Inspect"); //Inspecting(dynamic log) a Object Instance TheMiner.Log("-------------------------------------------"); TheMiner.Log("Inspecting an instance","Inspect"); mObjToInspect = new MyClassToInspect(); TheMiner.InspectObject(mObjToInspect, "Inspect"); //Class to print out class MyClassToInspect public var FirstVar:int = 0; public var SecondVar:String = "foo" }
Better Filtered content
You can now toggle a Permanent Search filters option in the configuration tab
By doing so, any text you enter in a given session inside one of the search box (MemoryProfiler, PerformanceProfiler, LoaderProfiler, UserEvents) will remain active after you close the application, and reloaded when you start a new session.
This way, when you do iterative work on optimizing your application, you don’t have to lo0se time on remembering, and re-entering the same info over and over again.
The Permanent Search Filters are also used when using Raw Data Dumps, this way it’s a lot easier to track down precise information in those huuuge list of info.
Average per frame
Did you ever try to know precisely how much time you function are running?
The Performance profiler now offer a way to make a ratio of time taken by a function over a period, which give you a time that can be calculated in microseconds!
What do we have here….
Each frame, around 23 microseconds is spent in the b2Mat22/Solve function calls
and 0.1 Millisecond in b2Mat22/Set
Do you have a Performance budget? This is the tool you need!
Last but not least: The Resources Grabber
Do you link directly to JPG and PNGs?
Do you load SWF at runtime? encrypted?
The resource grabber feature (in the Loader profiler) can expose, and redirect you directly to file being downloaded , and SWF being loaded by the VM.
If it’s a simple media, clicking in a icon will pop-up a window and show you the file in your browser.
If it’s a SWF, it will ask you to save the SWF bytes in a file somewhere.
The file is the Unpacked, and Unencrypted version of any SWF.
This means you can pass it directly to a decompiler to check the content.
For those who already use TheMiner, you know that these are only little addition compare to what’s already in it.
I suggest you give it all a try to know if you like it! (you will)