Unity WebGL how to make it run properly in background - google-chrome

I need full FixedUpdate calls (50 times a second) in background. How to achieve that?
Unity WebGL almost stops Update(and FixedUpdate) calls while in background. "Run In Background" is checked, When the user just clicks "New Tab" or switches tab for a second or minimizes the window, the game is working barely 1 call in every second. Which ends up as a massive lag for other players. (Multiplayer game. In background it sends barely 1 packet in every second)
Some people claim that it's up to Chrome or Firefox and throttling. But this is not true.(or there are ways to disable throttling?) Because there are P2P multiplayer browser games working properly in background. You can check Haxball for example. It does not skip packets when you minimize or switch tab.

Related

Displaying a video as loop upfront to an InVision Prototype on an iPad (iFrame? Forwarding?)

My basic problem: Having an html5 video (or else, just needs to be a video) played in a loop on an iPad Device. As soon as someone touches it, an InVision Prototype should be displayed.
In addition the loading time of the InVision Prototype should be as fast as possible (in the best case the user does not even recognize it's InVision).
What i learned so far:
InVision does not allow Videos.
Loading InVision in an iFrame and displaying the Video above it until it was clicked, does not work out, since InVision seems to forcibly forward the user within the prototype which leads to forwarding the top level navigation (so the browser displaying the html file with the video and the iFrame).
Using the sandbox attribute to prohibit forwarding works out - but results in the prototype not working anymore. (Loading won't complete).
Just forwarding the User to InVision as soon as the Video is clicked works out - but then the prototype is loaded which takes at least around 20s, crushing the users experience.
Besides the obvious of "not using InVision" any clever hacks out there?
I just recreated a prototype with roundabout 100 screens in Proto.io, having the video in front. Works like a charm.

AS3 NetStream lags on first frame

I'm developing an application in Adobe Air to display videos for a museum exhibit at a resolution of 2560x1440. The application works without a hitch on my machine, but when I run it on another (less powerful) computer, it does not function as intended. I've texted the application on two machines besides my own.
The problem is when one of the videos is called up, the video is called up and displays the first frame of the video and lags there for a good number of seconds (5-10), however I can still hear audio. After about 8-10 seconds, the video plays back as if it had been playing before and stutters briefly (1-2 seconds) before resuming playback normally. This is consistent behavior every time a video is launched as long as it's a fairly large video (> 50 MB as far as I can tell).
This does not happen on my development machine, which has a GTX 980 graphics card in it, but besides that and the motherboard, I can't think of any differences between the specs of the multiple machines.
The video throws an event indicating the buffer is full immediately as a video is launched, so buffering doesn't seem to be the issue.
Edit: Code (Pastebin)
Edit 2: Figured out it was the first frame, not a black screen
Still not entirely sure where the root of the problem lies, but what fixed it was adding this code right after calling the video. What it does is pause the playback and add a timer for one second, then seek 0.5 seconds into the video. I haven't run tests with this yet beyond getting past that first frame lag, but it works.
ns.pause();
var hesitate:Timer = new Timer(1000, 1);
hesitate.addEventListener(TimerEvent.TIMER_COMPLETE, function(e:TimerEvent)
{
ns.seek(0.5);
ns.resume();
});
hesitate.start();

Weird flash player glitch (12.0.0.41) in Chrome only

Very recently, after the latest Chrome update which includes Adobe Flash Player Version: 12.0.0.41, a flash app that's been running smoothly for years has begun to "hiccup" during one particular function.
Normal behavior - User logs in to app. App grabs some xml files then draws a calendar onscreen.
Hiccup behavior - User logs in to app. App grabs the xml files but feezes before executing the loadComplete function (according to trace). By freezes, I mean the little load spinner remains onscreen but stops spinning and the calendar doesn't appear onscreen.
Interesting/maddening notes - The mouse cursor responds as if the calendar has been drawn (arrow changes to pointer when mouse passes over an invisible calendar day) but according to my trace log the loadComplete and showCal functions haven't fired.
ALSO, any call to a function unfreezes the glitch (e.g. clicking an invisible calendar day, mousingOver a control button, etc. Anything that triggers a function.) and bam! everything's there and the trace log completes as it should.
As stated, this glitch only occurs in Chrome with the latest Flash Player update (12,0,0,41).
Installing the mozilla version of the flash player debugger (12,0,0,43) and instructing chrome to use it instead fixes the glitch, but using it in chrome opens up a whole new can of worms when it comes to flash player glitches (as is to be expected).
Maybe there's nothing I can do and it's just a fault with the latest Chrome flash player build, OR...
There's something fundamentally wrong with my code and Chrome's latest flash player is the only plugin that glitches on my "wrong" code?
I'll happily include some code snippets if someone is convinced my code is the problem but am leaving them off for now since this question is enormous. (you're a trooper for sticking with it)
I'm hoping someone else has experienced this or can at least explain it/fix it. Thanks in advance.
I'm seeing very similar symptoms on an application I work on Frankenscarf. All workarounds have been ineffective thus far. I can confirm it is specific to 12.0.0.41 Pepper Flash. I think you might need to wait for google to fix the lasted release...
I am also having problems with Flash 12.0.0.41 on YouTube, videos very laggy and dropping frames all the time even making the video stutter on 320p. I have disabled Chromes built in Flash player though Chrome://plugins, installed Chrome 11.7.700.260 and now have the videos running smoothly even at 1440p. Hopefully they will sort out the bugs soon.
I wasn't able to edit my original post...
UPDATE: I managed to get a workaround going. I set up a periodic timer (triggering every 500ms), that calls invalidateDisplayList() in my largest container. It is horrible, but it works....

Why does the framerate for my canvas game rise when I drag the window?

I'm making a simple HTML5 game and decided to enable the FPS counter in Chrome, and I noticed something odd.
When running the game normally I get around 24 FPS, but when I move the window using two fingers on my mac, enabling the bounce-back effect the frame rate shoots up to 50-70 FPS.
I've tried to find out why by using the Dev Tools in Chrome, but unfortunately I don't seem to be able to make sense of it.
I've posted pictures of the game with the FPS counter just below:
Low FPS
High FPS
Did you try Timeline with Frame mode?

Issues with html5 video driven site

I have a website where upon loading, a 9 MB video autoplays. I also have it so that whenever a user clicks off the homepage using the navigation bar, a 2MB video plays before it ultimately goes to it's target destination. The issue is that while the 9MB video loads seamlessly, the 2 MB ones lag behind and the full video doesn't play before it goes to the other page. I even have it so that there is a delay before it switches to the other page via jQuery, so the video can finish.
Is the lag caused by the fact that the videos need to load fully and my ISP isn't fast enough, or is there a way to actually speed them up? I am fairly certain that the answer is the former, but I am just wanting to make sure.
http://www.brokenrecordsaustin.com/test/
Click on "Us" to see what I mean.