Comments (1)
Sounds good. The scrolling pattern visualisation seems to be - at least on iOS Safari - the most CPU intensive part of the UI. Especially when switching over from one pattern to another, the change in visibility within the DOM seems to incur a serious performance hit.
I'm assuming a part of the problem is the fact that a single pattern consists of a huge number of span -elements. Using spans more sparingly and applying them only where colour other than the baseline gray is needed had a visible effect on performance. Still, busy multichannel modules are still quite heavy on the CPU. I don't know if there are better ways to emulate text mode character attributes without bloating up the DOM too much.
Using jQuery id selectors wherever applicable instead of class selectors seems to also improve performance significantly.
Regarding stuttering audio, the XM player code seems to be especially bad in some modules. I'm suspecting that this may not be UI-related, but instead an issue with bugs in the volume ramping and/or interpolation code - namely, some FP operations returning NaN or Inf. I'm assuming this is due to overhead from handling SIMD FP exceptions from the CPU.
from webaudio-mod-player.
Related Issues (20)
- XM player bugs and missing features
- Next step: The music tracker HOT 1
- Ui improvements HOT 1
- Pattern visualisation missing after manual load HOT 1
- Track visualiser floats down playing Mechanism Eight
- Not work with Raspbian on Rpi 3 HOT 1
- ImpulseTracker support HOT 2
- S3M file that uses Adlib samples doesn't play HOT 2
- Suggestion: rewrite file format handlers in Rust HOT 6
- Curious about the source of the last value in note period table. HOT 4
- Doesn't work if deployed under a directory HOT 1
- Impulse Tracker support HOT 1
- Locks up near the beginning when trying to play Dreamer's Black Queen module. HOT 2
- Better integration in other environments plus minor improvements
- Refactor to use AudioWorkletNode instead of ScriptProcessorNode
- Rewrite the UI to render entirely into a Canvas
- [req] Add a new song to mod.haxor.fi HOT 1
- Publish modules to npm with TypeScript types
- General cleanup HOT 1
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 webaudio-mod-player.