-
Notifications
You must be signed in to change notification settings - Fork 398
Debugging and Configuring Shumway
The inspector provided as one of the examples. The local web server shall be used to open the inspector web page -- the files/resources are loaded using XMLHttpRequest, which is not working for local file system. The local web server can be created by the python -m SimpleHTTPServer
(or make server
) command.
The inspector is located in the examples/inspector folder and can be opened in the browser using e.g. http://localhost:8000/examples/inspector/inspector.html url. The "Open File" button can be used to open SWF and ABC files from the local system.
The inspector has several push buttons:
-
Sys
- when pushed, the Shumway tries to compile (vs only interpret) playerglobal's byte code to JavaScript; -
App
- when pushed, tries to compile SWF file byte code; -
Verifier
- when pushed, uses additional optimization for the compiled code; -
Allocator
- when pushed, reduces local variables in compiled code; -
Trace
- when pushed, the additional message about compilation, interpretation and frame execution will be logged in the console; -
Trace Calls
- when pushed, logs (non-optimized) function calls with arguments / return values; -
Trace Runtime
- when pushed, logs detailed runtime events like trampolines and memoizers; -
Release
- when pushed, does not run debug asserts during code execution; -
Pre
,Render
,Mouse
- when pushed, enable various stages in the execution of a frame; -
Symbols
- when pushed, displays information about symbols that are currently on stage (hover mouse to see more information). -
Sample
- when pushed, uses the browser's built-in profiler to sample 5 frames.
The inspector accepts number of arguments in the query string:
-
rfile
- loads and opens specified SWF file, e.g. http://localhost:8000/examples/inspector/inspector.html?rfile=../examples/racing/race3.swf will automatically open and run race3 file.rfile
can accept sanity tests or ABC files as an input; -
async
- iftrue
is specified, the inspector will use progressive loading of the file; -
paused
- iftrue
is specified, the movie will be opened paused, use Command/Ctrl+F8 to start running; -
size
- specifies the size of the movie in the<width>x<height>
format (e.g.320x240
); -
yt
- allows to specify video ID and open youtube video by sniffing flashvars from the HTML page, requires systemXHR permission (see how to enable permissions at https://github.com/mozilla-b2g/gaia/blob/master/apps/email/README.md).
All (other) parameters will be treated as flash movie parameters (flashvars).
The additional configuration parameters can be set in the about:config to change the default Shumway behavior (when a parameter is absent, create a new one):
-
shumway.ignoreCTP
(boolean) - for Firefox 21 and up, the extension is shown only when the click-to-play is enabled (see the setting below). Set the value of this key totrue
to bypass this check and always show the Shumway extension instead of the plug-in (the browser must be restarted when this setting is modified); -
plugins.click_to_play
(boolean) - enables click-to-play (requires native Flash plug-in to be installed), also for Firefox 23, on about:addons plugins tab, set "Shockwave Flash" to "Ask to Activate"; -
shumway.simpleMode
(boolean) - iftrue
is specified, the simple HTML page with two button will be shown (Shumway and Flash); -
shumway.turboMode
(boolean) - iftrue
is specified, overrides frame rate to 60 fps; -
shumway.whitelist
(string) - comma-separated list for the sites/domains that can be accessed using URLStream/NetStream objects, if the request originated to the different URL than movie domain; -
shumway.appCompiler
(boolean) - iftrue
is specified, enables compiler for the flash AVM2 byte code in the SWF files (default istrue
); -
shumway.sysCompiler
(boolean) - iftrue
is specified, enables compiler for the system libraries (default isfalse
); -
shumway.verifier
(boolean) - iftrue
is specified, enables variable type verification and execution optimization for the compiler (default istrue
); -
shumway.force_hidpi
(boolean) - iftrue
is specified, always uses devicePixelRatio to scale canvas, e.g. looks sharper on retina displays (default isfalse
); -
shumway.hud
(boolean) - iftrue
is specified, shows frame/performance counters;
Mozilla 2019