Files
AndroidStudioSettings/ChatGPTConversations_170.xml
T

6 lines
247 KiB
XML
Raw Normal View History

<application>
<component name="ee.carlrobert.codegpt.state.conversations.ConversationsState">
<option name="currentConversation" value="{&quot;id&quot;:&quot;aecd1a4f-b605-4108-9b10-5c9ed19efdde&quot;,&quot;title&quot;:null,&quot;messages&quot;:[{&quot;prompt&quot;:&quot;我在调试器里看到,当前页面的背景图一直在repaint,现在gpu占用99%,机器很烫,有什么优化的办法&quot;,&quot;id&quot;:&quot;5e22a280-24b0-442a-8ea4-bd7e7861c284&quot;,&quot;response&quot;:&quot;了解,背景图频繁重绘导致 GPU 占用过高和设备发烫,通常是因为静态背景与频繁更新的动态组件(如地图、实时状态、视频流等)处于同一个绘制层。\n\n### 优化方案说明\n\n在当前的 [buildChild](file:///home/debuggerx/StudioProjects/aim_master_workspace/packages/agi_aim_master/lib/modules/home/root_page.dart#buildChild) 方法中,背景图是作为父级 `` `Container` `` 的 `` `BoxDecoration` `` 存在的。当 `` `Stack` `` 内部的子页面(如地图页)频繁刷新时,会触发整个父组件的重绘,连带导致昂贵的背景图和顶部的 `` `BackdropFilter` `` 被不断重新计算和绘制。\n\n**实施步骤:**\n1. **剥离背景图**:将背景图从 `` `Container` `` 的装饰器中提取出来,作为 `` `Stack` `` 的最底层子组件。\n2. **添加 `` `RepaintBoundary` ``**:使用 `` `RepaintBoundary` `` 包裹背景图,将其强制隔离为一个独立的图层(Texture缓存)。这样即使上层组件疯狂刷新,背景图也只需绘制一次。\n3. **隔离动态内容**:同样使用 `` `RepaintBoundary` `` 包裹 `` `TabBarView` ``,将频繁刷新的页面内容与顶部的导航栏、状态栏隔离开来,进一步减少 `` `BackdropFilter` `` 的无效重绘。\n\n以下是修改后的完整代码:\n\n```dart:/home/debuggerx/StudioProjects/aim_master_workspace/packages/agi_aim_master/lib/modules/home/root_page.dart\nimport 'dart:async';\nimport 'dart:ui';\n\nimport 'package:agi_aim_master/common/base/base_page.dart';\nimport 'package:agi_aim_master/common/base/base_widget.dart';\nimport 'package:agi_aim_master/common/constants/app_configs.dart';\nimport 'package:agi_aim_master/common/network/rpc_service.dart';\nimport 'package:agi_aim_master/common/providers/cur_map_provider.dart';\nimport 'package:agi_aim_master/common/providers/debug_provider.dart';\nimport 'package:agi_aim_master/common/providers/device_battery_provider.dart';\nimport 'package:agi_aim_master/common/providers/global_setting_provider.dart';\nimport 'package:agi_aim_master/common/providers/operate_state_provider.dart';\nimport 'package:agi_aim_master/common/providers/ota_provider.dart';\nimport 'package:agi_aim_master/common/providers/robot_ability_provider.dart';\nimport 'package:agi_aim_master/common/providers/robot_info_provider.dart';\nimport 'package:agi_aim_master/common/route/app_router.dart';\nimport 'package:agi_aim_master/common/utils/ssp_utils.dart';\nimport 'package:agi_aim_master/common/widgets/status_bar_widget.dart';\nimport 'package:agi_aim_master/generated/assets/r.dart';\nimport 'package:agi_aim_master/global/enums/a3_robot_attitude.dart';\nimport 'package:agi_aim_master/global/enums/sm_state.dart';\nimport 'package:agi_aim_master/global/models/a3_mc_action.dart';\nimport 'package:agi_aim_master/global/models/mc_action.dart';\nimport 'package:agi_aim_master/global/models/robot.dart';\nimport 'package:agi_aim_master/global/models/skill_status_model.dart';\nimport 'package:agi_aim_master/modules/ability/ability_home_page.dart';\nimport 'package:agi_aim_master/modules/home/home.dart';\nimport 'package:agi_aim_master/modules/home/providers/home_loop_offering_provider.dart';\nimport 'package:agi_aim_master/modules/home/providers/ota_info_provider.dart';\nimport 'package:agi_aim_master/modules/home/providers/root_page_provider.dart';\nimport 'package:agi_aim_master/modules/home/widgets/newbie_guide/newbie_guide_process_widget.dart';\nimport 'package:agi_aim_master/modules/interaction/pages/interaction_page.dart';\nimport 'package:agi_aim_master/modules/interaction/providers/audios_provider.dart';\nimport 'package:agi_aim_
<option name="conversations" value="[{&quot;id&quot;:&quot;2ea372bf-f79d-4805-a228-8cd51bf07dc9&quot;,&quot;title&quot;:null,&quot;messages&quot;:[{&quot;prompt&quot;:&quot;我在适用ProxyAI这个Intellij插件,想要实现代码自动补全,gemini系列的哪个模型最适合?为什么?另外配置里有个“FIM”模板选项,我应该选什么?&quot;,&quot;id&quot;:&quot;ab4b92a6-8055-4844-85d6-57ffd6339399&quot;,&quot;response&quot;:&quot;对于在 IntelliJ IDEA 使 ProxyAI **Inline Code Completion** Gemini FIM \n\n### Gemini 1.5 Flash Gemini 2.0 Flash\n\n**使 `gemini-1.5-flash` `gemini-2.0-flash`** API \n\n** Pro **\n1. **Latency** 300-500 `gemini-1.5-pro` Flash \n2. ****Flash 1M 2M ProxyAI \n3. ****Flash API Pro \n\n* `gemini-1.5-pro`****Flash *\n\n---\n\n### FIM \n\n**FIM (Fill-In-the-Middle)** PrefixSuffixMiddle\n\n**Gemini **\n DeepSeek CoderQwen Coder CodeLlama 使 FIM Token `&lt;|fim_prefix|&gt;``&lt;|fim_suffix|&gt;` **Gemini FIM ** ProxyAI Gemini `DeepSeek` `Qwen` FIM Gemini \n\n****\n\n1. ** Prompt / Instruction **\n ProxyAI FIM `Prompt``Instruction` `Gemini/OpenAI` \n\n2. **CustomFIM **\n FIM 使 XML Gemini XML \n ```text\n You are an expert programmer. Please complete the missing code between &lt;prefix&gt; and &lt;suffix&gt;. \n Output ONLY the missing code, without any markdown formatting, explanations, or repeating the prefix/suffix.\n \n &lt;prefix&gt;\n {prefix}\n &lt;/prefix&gt;\n &lt;suffix&gt;\n {suffix}\n &lt;/suffix&gt;\n ```\n *( `{prefix}` `{suffix}` ProxyAI )*\n\n3. ** FIM**\n FIM Gemini ProxyAI ** FIM ** None/Default退 Gemini &quot;,&quot;referencedFilePaths&quot;:null,&quot;conversationsHistoryIds&quot;:null,&quot;imageFilePath&quot;:null,&quot;
</component>
</application>