How does Chrome handle videos stored in memory? - html

Im building an application with Electron. My application has hundreds of videos that are activated using the basic HTML5 video play and pause functions. The app sometimes uses as much as 8gb of memory. This is fine for me because I have 16gb of ram, but I am unsure what would happen on a computer with less ram.
Would my application crash on a system with less ram, or does Chrome automatically delete videos out of the memory to make space? If so, how does it choose which videos to delete? Is this what is known as "garbage collection"?

Related

How to dedicate RAM to Google Chrome

Problem
I've been working with software called Leaflet, PostGRES and Geoserver, which I use to load in milions of datapoints... Well... that's what I'm supposed to do. Loading these points using GeoJSON and Javascript utilizes the RAM memory. Exceeding a certain amount of points actually crashes the web application. In Taskmanager I can see that Google Chrome uses more RAM, but there's still some available RAM left.
I am aware of the fact that some applications can utilize a set amount of RAM.
In short
Can I dedicate a set amount of RAM that Google Chrome can utilize. For example, 4GB of RAM.

Chromebook running ubuntu - hardware required for unity

I'm looking to buy a chromebook and install either Ubuntu 14 or Ubuntu 16 on it. I looked at the unity specs, and did some research, but it doesn't appear certain unity will run.
I'm wondering, what specs for a chromebook will I need to run the unity GUI interface on it to do some light development work?
Further, Is dual-core processor enough to run unity or do I need quad-core cpu? Do I need 4gb of ram, or more?
Also, if you can recommend one that will work for this need?
Thank you
You'll need at least, and probably more than, 4GB of RAM in order to use Unity effectively in a Linux environment.
Dual core should be enough for things to run, however, everything is going to be more responsive if you're using a quad core system.
You will need to get the best graphics hardware you can find, Intel HD may work but I would be more optimistic about a Tegra GPU being capable of running Unity. Graphics drivers will probably be a hurdle here.
A Chromebook is going to run out of disk space very quickly. Unity itself takes around 2.5 GB after it is installed, and each game project, depending on graphics and audio resources is going to consume disk space very quickly. 32GB hard drive would be the absolute minimum, and I can still foresee the inevitably full hard drive causing issues.
Ultimately I would suggest finding a laptop with higher specs than a typical Chromebook if you're serious about using Unity on it.
My best advice here, though, is don't buy a Chromebook for this purpose unless you're confident in the retailer being open-minded about returns.

Chrome garbage collector going crazy

Using Version 48.0.2564.109 m.
We have a javascript web app (built with ExtJS). In Chrome, when we leave our app sitting there for a while, the GC starts going nuts. In Task Manager, you can see the CPU constantly spinning around 25%.
I took timeline snapshots and CPU profiles, and you can see the GC, about 10 times a seconds, try to collect memory, but collects 0B.
Our app is a large enterprise application and does use quite a bit of memory and updates the screen periodically.
But, there is absolutely no javascript code running during this time. So I can't see that it is something our app is actively doing
Does anyone know what could be triggering this?
It is killing performance of our app.
Also, it only happens when our tab is active. If you switch to a different tab, the CPU dies down and the GC stops.
Is there other data I need to collect to help determine this?
What is your app current JS heap size? You can check it by collecting timeline and enabling memory check box.
It looks like your app is close to the V8 memory limit, so V8 is trying to free some memory. If it is expected for the app to use that much memory, you can increase the limit on your host with something like: --js-flags="--max-old-space-size=2048"
Otherwise it might be just a memory leak in your code. Use heap profiler to hunt it down.

AS3 slow webcam with 1080p on i3 laptop

I made an AIR application that uses the logitech c920 webcam for image capturing. The camera can display and record 720p and 1080p perfectly when I'm using the Logitech software. But when I use 720p in my AIR app there is obvious lag. Still useable, but annoying. 1080p is unacceptable in terms of lag. All this is on an i3 laptop. On my i7 desktop there is much less lag and I can do 1080p, but it's still not nearly as good as when I'm using the Logitech software.
The other odd thing is my older camera, the Logitech 9000 doesn't seem to work properly anymore in Flash or Air. The lag times are several seconds.
My questions are: (1) Do the logitech drivers use GPU acceleration to make the webcams work lightning fast even on a slow i3 computer while Flash cannot?
(2) Why does the older camera give such crumby performance now whether on the i3 or i7? Did Flash change how it handles cameras or something?
(3) Will the Flash Player be updated to allow GPU acceleration for webcams?
The simple truth is that Flash's performance is not good enough for realtime video applications.
Maybe lag would be better if you could attach your webcam to StageVideo (GPU decoding) instead of using the old Video class. Or you could simply lower the resolution...
If you want to develop realtime video applications you should take a look at Cinder, or OpenFrameworks instead. Both use C++ and performance is amazing. I have personally done projects involving 4k video on multiple monitors with Cinder.
Another option would be using Max MSP, much more powerful than Flash in terms of video performance, and you program visually using nodes and boxes.

AIR mobile runtime memory leak?

I have an app developed with AIR 3.7 for iOS (iPad)
The app gets very sluggish after a while, eventually crashes.
I've been -very- careful to pool objects where possible and cleanup / nullify all objects once they're not needed any more.
Profiling the app in Scout returns a pretty stable memory profile (the peaks and the lows translate very well to what's happening on screen)
Simultenously profiling the app using XCode's Instruments, shows me that the apps memory consumption constantly rises up to the point the systems spends more time throwing memory warnings than anything else.
Here are screenshots of both profilers: they show AS3 memory usage being pretty stable. On the app level though, memory consumption keeps rising...
https://dl.dropboxusercontent.com/u/608333/AIR_memory_leak.zip
If AS3 is not leaking any memory (according to scout), but the app is (according to Instruments), would I be right assuming there's a memory leak in the AIR-runtime itself?
thanks for your feedback!
bart.