|
6 | 6 |
|
7 | 7 | ## v3.0.0 |
8 | 8 |
|
9 | | -More Advance Settings |
| 9 | +### 🎨 Advanced Settings Overhaul |
| 10 | + |
| 11 | +#### New Features |
| 12 | +- **CPU Offloading Controls**: Added three independent toggles for fine-grained memory management |
| 13 | + - `offloadToCpu`: Offload model computations to CPU to save GPU/memory |
| 14 | + - `keepClipOnCpu`: Keep CLIP model on CPU to reduce GPU memory usage |
| 15 | + - `keepVaeOnCpu`: Keep VAE decoder on CPU to reduce GPU memory usage |
| 16 | + - All parameters now user-controllable in Advanced Settings (previously hardcoded) |
| 17 | + |
| 18 | +- **Expanded Quantization Options**: Increased from 6 to 13 quantization types |
| 19 | + - Added K-series variants: `Q2_K`, `Q3_K`, `Q4_K`, `Q5_K`, `Q6_K` (better quality at same bit-depth) |
| 20 | + - Added `BF16` (Brain Float 16) for modern AI hardware optimization |
| 21 | + - New "Auto" mode (default) that lets the library select optimal quantization |
| 22 | + - Full list: Auto → F32 → F16 → BF16 → Q8_0 → Q6_K → Q5_K → Q5_0 → Q4_K → Q4_0 → Q3_K → Q2_K |
| 23 | + |
| 24 | +#### UI/UX Improvements |
| 25 | +- **Enhanced Flash Attention Documentation** |
| 26 | + - Detailed benefits info box showing 30-50% memory reduction |
| 27 | + - Compatibility notes for NVIDIA GPUs (compute capability ≥7.5) |
| 28 | + - Clear recommendations: Enable for devices with <8GB RAM |
| 29 | + - Dynamic info box (shows only when enabled) |
| 30 | + |
| 31 | +- **Comprehensive Quantization Guide** |
| 32 | + - Warning box alerting users about re-initialization requirements |
| 33 | + - Detailed info box with memory usage and quality tradeoffs for all 13 types |
| 34 | + - Example: "Q4_K: 4-bit K-variant, ~1GB, better than Q4_0" |
| 35 | + - Note explaining K-variants offer superior quality at same bit-depth |
| 36 | + |
| 37 | +- **Visual Design Enhancements** |
| 38 | + - Color-coded info boxes: |
| 39 | + - 🟧 Orange warning box for quantization risks |
| 40 | + - 🔵 Blue info box for technical details |
| 41 | + - 🟢 Green success box for Flash Attention benefits |
| 42 | + - Monospace font for technical specifications |
| 43 | + - Improved readability with proper line spacing |
| 44 | + |
| 45 | +#### Technical Changes |
| 46 | +- **Default Value Changes** |
| 47 | + - `wtype` default changed from `0` (F32) to `-1` (Auto) |
| 48 | + - C++ JNI layer now skips `wtype` assignment when value is `-1` |
| 49 | + - Allows underlying stable-diffusion.cpp library to use its optimal defaults |
| 50 | + |
| 51 | +- **Internationalization** |
| 52 | + - Added 15+ new string resources (English + Chinese) |
| 53 | + - All new settings fully localized |
| 54 | + |
| 55 | +#### Developer Notes |
| 56 | +- Updated `DiffusionLoader` interface across all platforms (common, Android, Desktop) |
| 57 | +- Modified `ChatViewModel` to include new mutable state properties |
| 58 | +- Enhanced `AdvancedSettingScreen.kt` with conditional rendering and info boxes |
| 59 | +- C++ native code (`diffusion_loader_jni.cpp`) updated to handle new parameters |
| 60 | + |
| 61 | +--- |
| 62 | + |
10 | 63 |
|
11 | | -- (offloadToCpu, keepClipOnCpu, keepVaeOnCpu) independently controllable in the AdvancedSettingScreen |
12 | | -- wtpe setting() |
13 | 64 |
|
14 | 65 | ## v2.3.0 |
15 | 66 |
|
|
0 commit comments