|This page has links to outside of the Scratch website or Wikipedia. Remember to stay safe when using the internet as we can't guarantee the safety of other sites.|
Stage3D, made by Adobe, is the hardware-acceleration engine used to speed up graphic effects (with the exception of the ghost effect). Hardware-acceleration is the utilization of a computer's graphics processing unit (GPU) to handle visual-rendering and effects instead of placing it all on the computer's processor. Not all GPU's support Stage3D and therefore some older computers may not be able to run this acceleration.
Stage3D can be toggled by pressing Ctrl+M in the online player/editor (Command+Shift+M on Macs).
Scratch 2.0 has always used a part of Flash called Pixel Bender to accelerate graphic effects. Pixel Bender was Adobe's code executed in a GPU to accelerate the rendering of graphical processes in Flash. However, in early July 2013, Adobe removed Pixel Bender with the official release and update of version 11.8 of Flash. With hardware-acceleration broken in tons of Flash applications across the globe, the Scratch Team being one of them, Adobe received much criticism.
Without Pixel Bender, Scratch required graphic effects to be rendered on the CPU instead of the GPU of computers. Therefore, for all effects except ghost effects (which run fine on the CPU), projects had serious lag. The Scratch Team decided to turn to another platform for hardware-acceleration, Stage3D.
The original, official name of the Stage3D project player was the Beta Player. It was released on October 17, 2013 to the public. It existed as an individual web page in which one could paste the URL of a project and test it in the player. At first it was very buggy and the Scratch Team sought the community's help. The beta page had a Google form to fill out explaining if the project ran properly or not and why. The Scratch Team also allowed bug posts in a few topics on the Announcements forum.
On January 7, 2014, an account settings option was created that allowed one to opt-in to the Beta Player for all projects viewed on the website. Therefore, the web page for testing projects in the new player was taken down. The Beta Player, through the use of Stage3D, ran graphic effects smoothly as promised but still had other pesky bugs. The player existed in this stage with frequent updates for a few months.
On March 12, 2014, Lightnin posted a rather discreet announcement in the Advanced Topics forum (a forum mainly used by tech-savvy individuals). He stated that two players now co-exist in Scratch: The original player and the Stage3D player.
- If a project contains no graphic effect blocks (except ghost), the project will use the original player to run.
- If a project does contain graphic effects besides ghost, the project will automatically run in the Stage3D Player.
- If a computer's GPU does not support Stage3D, it will use the old player.
The solution was a wise decision because the original Scratch 2.0 project player was still less buggy than the Stage3D player. However, facing such graphic effect lag was a huge barrier, so as soon as a graphic effect block is dragged into Scratch, besides ghost, Scratch detects it and will use the Stage3D player to run that project.