Commit graph

44 commits

Author SHA1 Message Date
DD Liu
74928ede7c Fix playground 2021-03-23 16:32:05 -04:00
Michael "Z" Goddard
d3ae00292f
add Profiler.increment and Profiler.frame
Let profiled code track frames and arguments called by incrementing a
counter for a frame id or frame id and argument. This replaces the same
counting by recording the call as part of a history of calls and
returns. Updating the array for all calls counted takes enough time to
bias the profiled run towards less overall executions.
2019-07-17 15:06:47 -04:00
Michael "Z" Goddard
0e9357b062
benchmark load now
This is a slight ergonomics improvement for faster benchmark loading.
We should be able to apply this to gui as well if it already does do
the same thing.
2019-02-22 16:01:09 -05:00
Michael "Z" Goddard
991acbb36a
benchmark more loading stats
- Display time to load just the (json) data
- Display progress and time for content
- Display progress and time hydrating the downloaded assets
2019-02-22 16:01:08 -05:00
Michael "Z" Goddard
08c939f522
add simple loading time benchmark detail 2019-01-24 17:48:17 -05:00
Michael "Z" Goddard
d8ae96a58c
build playground/benchmark.js 2019-01-24 17:48:17 -05:00
Michael "Z" Goddard
c76ad21093
reduce size of benchmark suite configuration 2018-09-07 14:47:50 -04:00
Michael "Z" Goddard
dc85f1162f
enable disabled benchmark test 2018-09-07 14:39:45 -04:00
Mx Corey Frang
30892dfd43
Update npm packages to get new renderer and update benchmark for Bob Ross 🌲 (#1443) 2018-08-13 10:47:41 -04:00
Michael "Z" Goddard
a15a9a1b7b Fix benchmark suite (#1397)
* add scratch-svg-renderer adaptors to benchmark vm

* disable benchmark with monitor error

* fixup! add scratch-svg-renderer adaptors to benchmark vm

* fixup! disable benchmark with monitor error
2018-08-08 14:36:38 -04:00
Michael "Z" Goddard
4ceeebb257 Use src/index as browser entry point
Use src/index.js as the entry by default in tools building scratch-vm
into a larger package. This saves file space by excluding extra webpack
boilerplate and may allow for deeper optimizations.

Depend on script dependencies for downstream webpack. For another
package to build in scratch-vm's dependencies without them already
being built into a consumed webpack build they need to be listed as
dependencies. This can benefit large projects that reuse the same
dependencies multiple times. Node will still use the main entry point
and its webpack build leaves the dependencies as external references so
it may reuse common modules in Node as well as in a build a browser
environment.
2018-05-31 16:32:46 -04:00
Mx Corey Frang
08a992f28d
Add a project to benchmark sensing_touchingobject vs other sprites (#1094) 2018-05-01 08:57:16 -04:00
Michael "Z" Goddard
d4bffcbddb
Rename playground/motion.html to video-sensing.html 2018-04-03 16:19:52 -04:00
Michael "Z" Goddard
cfd74a7c7f
Add checkboxes for each video sensing debug view 2018-04-03 16:19:51 -04:00
Michael "Z" Goddard
c206dc3241
Add motion playground page for debugging video sensing 2018-03-29 19:02:07 -04:00
Christopher Willis-Ford
3717394f00 Playground: load renderer as UMD
The recent changes to the renderer's build output packaging broke this
repository's playground / benchmark suite. These changes aren't the only
way to fix the issue, but this is consistent with the way that the
storage module was already being loaded.
2018-01-29 14:04:19 -08:00
Michael "Z" Goddard
4d4966cba9
Save and compare results, show individual results in iframe 2018-01-17 12:25:07 -05:00
Michael "Z" Goddard
775d38d8d5
Truncate benchmark selfTime and totalTime values 2018-01-17 12:16:08 -05:00
Michael "Z" Goddard
479f1ba163
Produce a benchmark share link storing the report in the url 2018-01-17 12:16:06 -05:00
Michael "Z" Goddard
c6f4d89371
Add benchmark suite, run and report on multiple benchmark projects 2018-01-17 12:10:27 -05:00
Michael "Z" Goddard
b02d7e8cd8
Read benchmark warm up time and recording time from uri 2018-01-17 11:59:58 -05:00
Ray Schamp
e8fd5b1f13 Replace playground with benchmark 2017-12-12 12:17:33 -05:00
Michael "Z" Goddard
ff82699440
Add Block % stats panel
Enable profiler when Block % is visible and display percent of time
block functions get to execute versus drawing and any overhead.
2017-11-14 14:57:32 -05:00
Chris Willis-Ford
d8a3e659d5 Playground: use UMD to load storage as global (#722)
* Playground: use UMD to load storage as global

It appears that `expose-loader` is not compatible with WebPack's UMD
exporter, so the VM playground broke when I converted `scratch-storage`
to use UMD. This change causes the playground to load `scratch-storage`
as an independent script and relies on its UMD loader to expose it as a
global. Bonus points: we get better source mapping this way.

* Playground: tell eslint about global ScratchStorage
2017-10-17 17:40:11 -04:00
Ray Schamp
5113876588 Pass with --fix 2017-08-26 13:24:10 -04:00
marisaleung
875ccf5b88 Updated variables and var_fire event listener. 2017-06-23 09:57:01 -07:00
Christopher Willis-Ford
eb931fd99b Specify dataFormat when loading asset for import
When importing a project we know the file extension for each asset to be
loaded. This change provides that information to the storage system so
that we can load assets which don't use the default. For example, this
allows loading JPG-format backdrops.

In support of this change, there's a new function on `StringUtil` called
`splitFirst`, which splits a string on the first instance of a separator
character. This change includes unit tests for this new function.
2017-05-24 15:35:10 -07:00
Ray Schamp
6c9701f4b2 Merge branch 'develop' into feature/serialization 2017-05-11 13:04:27 -04:00
DD Liu
706e112082 Add a block container for monitors that will run in the sequencer 2017-05-08 15:45:55 -04:00
Ray Schamp
2a4af8a9ca Fix up most linting/merge errors 2017-04-26 16:50:53 -04:00
Ray Schamp
a4cdb027ab Merge branch 'develop' of github.com:morantsur/scratch-vm into feature/serialization
# Conflicts:
#	src/playground/index.html
#	src/serialization/sb2.js
#	src/sprites/rendered-target.js
#	src/virtual-machine.js
#	test/unit/serialization_sb2.js
2017-04-26 11:44:53 -04:00
Christopher Willis-Ford
c750f53c81 Get Asset and AssetType from storage instance 2017-04-20 16:12:17 -07:00
Ray Schamp
4455b0694f Fix remaining no-var and no-use-before-define's 2017-04-17 17:15:19 -04:00
Ray Schamp
e01c4ae108 Pass with --fix 2017-04-17 15:10:04 -04:00
Chris Willis-Ford
44623db5e3 Merge pull request #522 from presight/develop
Fix so that size is set in float to ensure backward compatibility with Scratch 2.0
2017-04-06 14:55:08 -07:00
spenen
41082a76cd Fixed xml import/export in Playground 2017-04-05 20:23:16 +02:00
spenen
0f0292320b Added size to playground render info 2017-04-05 18:51:16 +02:00
Chris Willis-Ford
3d7f1187e5 Merge branch 'develop' into use-scratch-storage 2017-03-13 15:48:21 -07:00
Moran
94d2a39cc1 Merge branch 'develop' of https://github.com/LLK/scratch-vm into develop 2017-03-13 18:07:17 -04:00
Ray Schamp
b03768cad6 Remove filter toolbox utility (#496)
* Revert "Merge pull request #486 from rschamp/fix-filter-tests"

This reverts commit ba00db897f, reversing
changes made to 739c5deb63.

* Revert "Show Categories that use custom code to load (variables, procedures) (#483)"

This reverts commit 739c5deb63.

* Revert "Merge pull request #461 from rschamp/filter-toolbox"

This reverts commit 343b5bfe8e, reversing
changes made to 370f2c6a47.
2017-03-09 16:41:06 -05:00
Christopher Willis-Ford
c23e9c6bf8 Load projects & costumes through scratch-storage
This also sets up the framework to load sounds through scratch-storage,
to be finished in a later change.
2017-03-09 11:25:55 -08:00
Moran
d8e1d42bf2 Merge branch 'develop' of https://github.com/LLK/scratch-vm into develop 2017-03-03 15:23:43 -05:00
Ray Schamp
a9b495fced Filter the playground toolbox 2017-02-27 12:57:38 -05:00
Christopher Willis-Ford
243d68f88b Use Webpack to generate the whole playground
The previous configuration mixed Webpack output with static content in
order to create the playground. This change moves that static content
from `/playground/` into `/src/playground/` and adds a Webpack rule to
copy it into the playground as part of the build.

On the surface this might seem unnecessary, but it provides at least two
benefits:
- It's no longer possible to accidentally load stale build output
  through `webpack-dev-server` in the event of a misconfiguration. This
  was very easy in the previous configuration, and might in fact be the
  only way that `webpack-dev-server` ever worked for this repository.
- It's simpler to ensure that various rules apply to the hand-authored
  content and not build outputs. This includes lint rules, `.gitignore`,
  IDE symbol search paths, etc.
2017-02-10 14:21:37 -08:00