element-x-ada/features
Marco Romano 3ec62ad58a
Use Float instead of Double for all the level metering logic. (#1645)
This is in preparation of further changes to the way the audio level is computed and to allow recording and sending of the waveform. The main reasoning behind the change is twofold:
1) We don't need the precision of Double in our context (we just need a rough indication of the changes in audio level to successfully draw a level meter or a waveform in our UI).
2) Performance: It is true that on 64 bit CPUs single operations involving Floats or Doubles take the same amount of time (i.e one clock cycle). But there are other aspects here that vouch in favor of Floats:
	- A float takes half the space in memory compared to a double, so when storing long lists of them this can add up.
	- On Android O and greater the ART runtime can "vectorize" certain operations on lists and make use of the CPU's SIMD registers which are generally 128 bits. So by using floats 4 of them can fit and be computed at the same time whilst with doubles only 2 will fit halving the throughput.

References:
- https://source.android.com/docs/core/runtime/improvements
- https://www.slideshare.net/linaroorg/automatic-vectorization-in-art-android-runtime-sfo17216
2023-10-26 12:55:23 +00:00
..
analytics Move InfoListOrganism to the new organisms package. 2023-10-04 09:08:57 +02:00
call Integrate Element Call with widget API (#1581) 2023-10-19 15:38:43 +00:00
createroom Konsist: add test to ensure filename match top level Composable View, and fix existing issue 2023-10-10 15:39:22 +02:00
ftue Sync Strings from Localazy 2023-10-16 00:09:47 +00:00
invitelist Konsist: improve test about no default value for State classes, and fix new detected issues. 2023-10-10 21:42:18 +02:00
leaveroom Konsist: improve test about no default value for State classes, and fix new detected issues. 2023-10-10 21:42:18 +02:00
location [Voice messages] Add voice recording UI (#1546) 2023-10-12 15:17:18 +00:00
lockscreen Merge pull request #1624 from vector-im/feature/fga/pin_auth_ui 2023-10-23 16:35:22 +02:00
login Integrate Element Call with widget API (#1581) 2023-10-19 15:38:43 +00:00
logout Sync Strings (#1623) 2023-10-23 08:20:49 +00:00
messages Use Float instead of Double for all the level metering logic. (#1645) 2023-10-26 12:55:23 +00:00
networkmonitor Konsist: add test to ensure filename match top level Composable View, and fix existing issue 2023-10-10 15:39:22 +02:00
onboarding Sync Strings from Localazy 2023-10-16 00:09:47 +00:00
poll Konsist: improve test about no default value for State classes, and fix new detected issues. 2023-10-10 21:42:18 +02:00
preferences Unit and Snapshot tests for error and loading states. 2023-10-24 21:39:53 +01:00
rageshake Sync Strings from Localazy 2023-10-16 00:09:47 +00:00
roomdetails Unit and Snapshot tests for error and loading states. 2023-10-24 21:39:53 +01:00
roomlist Sync Strings (#1623) 2023-10-23 08:20:49 +00:00
signedout Sync Strings from Localazy 2023-10-16 00:09:47 +00:00
verifysession Sync Strings from Localazy 2023-10-16 00:09:47 +00:00