Comments (5)
I think I've seen this as well, in profile (~= production) mode. No error was logged.
from historyofeverything.
After first opening the timeline in profile mode, I saw memory usage around 720MB.
After scrolling around a bit it popped to 770 with a peak of 899. This seems crazy high to me.
I think the reason our memory usage is so high is because the images need to be decoded and stored as raw RGBA at runtime. I also think SKIA must be generating mipmaps for them for the filtering.
We exported them at best quality from Nima, but this isn't really necessary as we render at a much lower resolution in the app. I can write a script that goes through and resizes the atlases. I'll move all the originals into a new folder and have a script that can be run to re-generate the ones in the assets folder from the originals. That way we can play around with different resolutions and see which is the best balance for memory/quality.
from historyofeverything.
More proof that it's the images. These lists of images are the arrays of atlases each actor stores.
from historyofeverything.
If I 1/4 (512x512 max) the images, it goes down to 220MB. Quality is bad.
At 1/2 (1024x1024 max) the images, it goes down to 443.8MB. Quality change is only noticeable in some cases, but generally seems good.
A few more options:
Change some of the larger images (the galaxy, the big bang) to Flare (vector) animations. These seem like an easy win.
Look into loading the assets on demand instead of everything at boot.
from historyofeverything.
There are two utility scripts: tools/resize_large_assets.dart and tools/find_large_assets.dart
from historyofeverything.
Related Issues (20)
- Bug in Menu Page: wrong state of plus icon when tapped fast
- error HOT 1
- How to open file extension .flr for translate articles?
- Ben
- run failed HOT 1
- Failed to run the app due to AndroidX incompatibilities
- How to write a similar timeline for video editing ?
- timeline How to slide ?
- unable to run the downloaded app, even after updating to androidX HOT 3
- Simplified Example
- The scrolling is very jerky
- .
- .
- I can't get the project running with Flutter 2.0 HOT 2
- Unable to run this project, Which Flutter version can run this project. HOT 1
- Error: The getter 'children' isn't defined for the class 'InlineSpan'. when running Flutter run HOT 1
- Won't run on flutter 2.12, trace attached HOT 2
- Getting working with Rive
- Your project is not running except it is showing following errors HOT 1
- History timeline
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from historyofeverything.