Skip to content

Commit

Permalink
docs: 优化readme翻译
Browse files Browse the repository at this point in the history
  • Loading branch information
shadow3aaa committed Nov 16, 2024
1 parent f14883e commit 56341a6
Showing 1 changed file with 33 additions and 33 deletions.
66 changes: 33 additions & 33 deletions README_EN.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,65 +24,65 @@

## **Introduction**

> If the picture seen by the naked eye can be directly reflected in the scheduling, that is to say, the scheduler is placed from the perspective of the viewer to determine the performance, can perfect performance control and maximized experience be achieved? `FAS (Frame Aware Scheduling)` is this scheduling concept, trying to control performance by monitoring screen rendering to minimize overhead while ensuring rendering time.
> If the scene seen by the naked eye can be directly reflected in the scheduling, that is, if the scheduler is placed from the viewer's perspective to decide performance, can perfect performance control and maximum experience be achieved? `FAS (Frame Aware Scheduling)` is this scheduling concept, which tries to control performance by monitoring frame rendering to minimize overhead while ensuring rendering time.
- ### **What is `fas-rs`?**

- `fas-rs` is an implementation of `FAS (Frame Aware Scheduling)` running in user mode. Compared with `MI FEAS` in kernel mode, it has the same core idea but has the advantages of almost universal compatibility and flexibility on any device.
- `fas-rs` is a user-space implementation of `FAS (Frame Aware Scheduling)`, which has the advantage of near-universal compatibility and flexibility on any device compared to the kernel-space `MI FEAS`.

## **Extension System**

- In order to maximize the flexibility of user mode, `fas-rs` has its own extension system. For development instructions, please see our [extension template repository](https://github.com/shadow3aaa/fas-rs-extension-module-template)
- To maximize user-space flexibility, `fas-rs` has its own extension system. For development instructions, see the [extension template repository](https://github.com/shadow3aaa/fas-rs-extension-module-template).

## **Customization (configuration)**
## **Customization (Configuration)**

- ### **Configuration path: `/sdcard/Android/fas-rs/games.toml`**
- ### **Configuration Path: `/sdcard/Android/fas-rs/games.toml`**

- ### **Parameter (`config`) description:**
- ### **Parameter (`config`) Description:**

- **keep_std**

- Type: `bool`
- `true`: Always keep the standard configuration profile when merging configurations, retain the local configuration application list, and other places are the same as false \*
- `false`: see [default behavior of config merge](#config merge)
- `true`: Always keep the standard configuration profile when merging configurations, retaining the local configuration's application list, and other aspects are the same as false \*
- `false`: See [default behavior of configuration merging](#configuration-merging)

- **scene_game_list**

- Type: `bool`
- `true`: Use scene game list \*
- `false`: Not using scene game list
- `false`: Do not use scene game list

- `*`: default configuration
- `*`: Default configuration

- ### **Game list (`game_list`) description:**
- ### **Game List (`game_list`) Description:**

- **`"package"` = `target_fps`**

- `package`: string, application package name
- `target_fps`: an array (such as `[30, 60, 120, 144]`) or a single integer, indicating the target frame rate that the game will render to, `fas-rs` will dynamically match it at runtime
- `package`: String, application package name
- `target_fps`: An array (e.g., `[30, 60, 120, 144]`) or a single integer, representing the target frame rate the game will render to, `fas-rs` will dynamically match at runtime.

- ### **`powersave` / `balance` / `performance` / `fast` Description:**
- ### **Modes (`powersave` / `balance` / `performance` / `fast`) Description:**

- #### **Mode Switching:**

- Currently, `fas-rs` lacks an official mode-switching manager, instead integrating the [`scene`](http://vtools.omarea.com) configuration interface. If you do not use scene, the default configuration is `balance`.
- If you have some Linux programming knowledge, you can write any of the 4 modes to the `/dev/fas_rs/mode` node to switch modes, and reading it will show the current `fas-rs` mode.
- Currently, `fas-rs` does not have an official mode switching manager but integrates with the [`scene`](http://vtools.omarea.com) configuration interface. If you do not use scene, the default `balance` configuration is used.
- If you have some understanding of programming on Linux, you can switch to the corresponding mode by writing any of the 4 modes to the `/dev/fas_rs/mode` node, and you can also read it to know the current mode of `fas-rs`.

- #### **Mode Parameter Description:**

- **margin:**

- Type: `integer`
- Unit: `milliseconds`
- Allowed frame drop margin; smaller values increase frame rate, larger values save power (0 <= margin < 1000)
- Allowed frame drop margin, the smaller the margin, the higher the frame rate, the larger the margin, the more power-saving (0 <= margin < 1000)

- **core_temp_thresh:**

- Type: `integer` or `"disabled"`
- `integer`: Sets the core temperature at which `fas-rs` triggers thermal control (unit: 0.001°C)
- `"disabled"`: Disables built-in thermal control in `fas-rs`
- `integer`: Core temperature to trigger thermal control by `fas-rs` (unit 0.001)
- `"disabled"`: Disable `fas-rs` built-in thermal control

### **`games.toml` configuration standard example:**
### **Standard Example of `games.toml` Configuration:**

```toml
[config]
Expand Down Expand Up @@ -119,35 +119,35 @@ margin = 0
core_temp_thresh = 95000
```

## **Configuration merge**
## **Configuration Merging**

- ### `fas-rs` has a built-in configuration merging system to solve the problem of future configuration function changes. It behaves as follows
- ### `fas-rs` has a built-in configuration merging system to address future configuration feature changes. Its behavior is as follows

- Delete configurations that do not exist in the local configuration and standard configuration
- Insert the configuration where the local configuration is missing and the standard configuration exists
- Retain configurations that exist in both standard and local configurations
- Delete configurations in the local configuration that do not exist in the standard configuration
- Insert configurations that are missing in the local configuration but exist in the standard configuration
- Retain configurations that exist in both the standard and local configurations

- ### Notice
- ### Note

- Implemented using automatic serialization and deserialization, unable to save non-serialization necessary information such as comments
- The automatic merged configuration during installation will not be applied immediately, otherwise it may affect the operation of the current version. Instead, the local one will be replaced with the new merged configuration during the next restart.
- Implemented using automatic serialization and deserialization, unable to preserve comments and other non-serialization necessary information
- The automatic merging configuration during installation will not be applied immediately to avoid affecting the current version's operation but will replace the local configuration with the merged new configuration on the next restart.

- ### Manual merge
- ### Manual Merging

- The module will be automatically called once every time it is installed.
- The module will automatically call once every time it is installed
- Manual example

```bash
fas-rs merge /path/to/std/profile
```

## **Compile**
## **Compilation**

```bash
# Ubuntu(NDK is required)
# Ubuntu (NDK is required)
apt install gcc-multilib git-lfs clang python3
# ruff(python lints & format)
# ruff (python lints & format)
pip install ruff
# Rust
Expand Down

0 comments on commit 56341a6

Please sign in to comment.