当前位置: 首页 > news >正文

网站建站加盟/域名查询ip138

网站建站加盟,域名查询ip138,那个网站做外贸好,校园网站html模板优化一个比较复杂的界面,里面有多个rt和组件。 在初次打开这个界面的时候会发生1s多的卡顿,还是非常严重的。 分析 通过profiler分析 1.打开界面时卡顿。 分析:除了update和dotween相关逻辑,主要在于打开时的lua function调用…

优化一个比较复杂的界面,里面有多个rt和组件。

在初次打开这个界面的时候会发生1s多的卡顿,还是非常严重的。

分析

通过profiler分析

1.打开界面时卡顿。

分析:除了update和dotween相关逻辑,主要在于打开时的lua function调用。

用luaProfiler接着分析:

峰值是800ms的卡顿。

在打开时调用了两次相同方法,并且这个方法内部创建rt(同一个页面塞五个高精度rt)耗费了很长时间(370ms)。

优化

内部用了toggle,并且在start的时候初始化一整个页面,刷新了一次rt,这次的刷新是没必要的,可以直接干掉。

打开界面的时候默认执行on toggle的方法,但是会有页面优先级,SetActive时unity通过默认on toggle调用了一次RefreshData,代码侧在之后又修改了一次toggle on,这类问题也应该避免。

优化之后,加载rt仍然占用0.3s的加载时间,实际上这部分内容可以采用异步处理。

虽然yooasset开放了异步接口,但是目前项目并没有接入异步相关流程,所以没办法优化。

但是依然可以在内部做缓存,有些节点信息,rt之前的渲染信息,都可以及时存储以备后续直接调用。

剩下的卡顿时间是0.3s加载预设的时间,所以也需要对其做一些处理,比如预设的资源引用削减、特效减负。

最终结果,减负了一半加载时间。

但实际上看profiler仍然发现峰值时间偏高,原因还是有很多的Instantiate、camera.customRender。这段确实是应当要异步加载才能正式解决这个问题。

其他优化项:drawcall/batches

如果用了rt就注定其是有很多batches,rt节点开启前后相差了110.关闭rt后就剩下35了。

减少图文重叠,重叠图案或者字体是一定会增加batch数量的。

texture转换成sprite,并收录到spriteAtlas中。如果收录进去,则unity会尽可能地在一个batch中渲染出来:

如果是相同texture,也会放入一个batch中直接渲染出来:

优化之后降至25(不包括renderTexture渲染)。

相关文章:

unity ui界面优化

优化一个比较复杂的界面,里面有多个rt和组件。 在初次打开这个界面的时候会发生1s多的卡顿,还是非常严重的。 分析 通过profiler分析 1.打开界面时卡顿。 分析:除了update和dotween相关逻辑,主要在于打开时的lua function调用…...

mysql-MVCC

一、基础概念 1. MVCC的含义 MVCC (Multiversion Concurrency Control),即多版本并发控制技术,它是通过读取某个时间点的快照数据, 来降低并发事务冲突而引起的锁等待, 从而提高并发性能的一种机制. MVCC 的实现,是通过保存数据…...

​Sqli-labs靶场第9关详解[Sqli-labs-less-9]

Sqli-labs-Less-9 前言: SQL注入的三个条件: ①参数可控;(从参数输入就知道参数可控) ②参数过滤不彻底导致恶意代码被执行;(需要在测试过程中判断) ③参数带入数据库执行。&#…...

第3.5章:StarRocks数据导入——Broker Load

注:本篇文章阐述的是StarRocks-3.2版本的Broker Load导入机制 一、概述 Broker Load导入方式支持从HDFS类的外部存储系统(例如:HDFS、阿里OSS、腾讯COS、华为云OBS等),支持Parquet、ORC、CSV、及 JSON 四种文件格式&a…...

Linux之ACL权限chmod命令

一. chmod命令 chmod命令来自英文词组change mode的缩写,其功能是改变文件或目录权限的命令。默认只有文件的所有者和管理员可以设置文件权限,普通用户只能管理自己文件的权限属性。 设置权限时可以使用数字法,亦可使用字母表达式&#xff0…...

HBuilderX的特点

轻巧 仅10余M的绿色发行包(不含插件)极速 不管是启动速度、大文档打开速度、编码提示,都极速响应 C的架构性能远超Java或Electron架构vue开发强化 HBuilderX对vue做了大量优化投入,开发体验远超其他开发工具 详见小程序支持 国外开发工具没有对中国的小程…...

CrossOver虚拟机软件2024有哪些功能?最新版本支持哪些游戏?

CrossOver由codewaver公司开发的类虚拟机软件,目的是使linux和Mac OS X操作系统和window系统兼容。CrossOver不像Parallels或VMware的模拟器,而是实实在在Mac OS X系统上运行的一个软件。CrossOvers能够直接在Mac上运行Windows软件与游戏,而不…...

Android LinearLayout 如何让子元素靠下居中对齐 center bottom

Android LinearLayout 如何让子元素靠下居中对齐 center bottom 首先你需要知道两个知识点: android:layout_gravity 指定的是当前元素在父元素中的位置android:gravity 指定的是当前元素子元素的排布位置 比如: 有这么一个布局,我需要让…...

物体检测-系列教程16:YOLOV5 源码解析6(马赛克数据增强函数load_mosaic)

😎😎😎物体检测-系列教程 总目录 有任何问题欢迎在下面留言 本篇文章的代码运行界面均在Pycharm中进行 本篇文章配套的代码资源已经上传 点我下载源码 9、load_mosaic函数 Mosaic(马赛克)数据增强:将四张不…...

星河做市基金会全球DAO社区启动,为数字货币市场注入新活力

2024年的数字货币市场即将迎来一次重要的历史性时刻 — 比特币减半,这四年一次的事件将成为全球数字资产市场的焦点,预示着新一轮的牛市浪潮即将到来。在这个关键时刻,星河做市基金会展现出其作为区块链行业领先市值管理公司的独特魅力。 GA…...

QT Widget自定义菜单

此文以设置QListWidget的自定义菜单为例,其他继承于QWidget的类也都可以按类似的方法去实现。 1、ui文件设置contextMenuPolicy属性为CustomContextMenu 2、添加槽函数 /*** brief onCustomContextMenuRequested 右键弹出菜单* param pos 右键的坐标*/void onCusto…...

UnityWebGL 设置全屏

这是Unity导出Web默认打开的页面尺寸 修改后效果 修改 index.html 文件 1.div元素的id属性值为"unity-container",宽度和高度都设置为100%,意味着该div元素将占据整个父容器的空间。canvas元素的id属性值为"unity-canvas"&#xff…...

100224. 分割数组

说在前面 🎈不知道大家对于算法的学习是一个怎样的心态呢?为了面试还是因为兴趣?不管是出于什么原因,算法学习需要持续保持。 题目描述 给你一个长度为 偶数 的整数数组 nums 。你需要将这个数组分割成 nums1 和 nums2 两部分&am…...

WSL2配置Linux、Docker、VS Code、zsh、oh my zsh(附Docker开机自启设置)

0. 写在前面 本篇笔记来自于UP主麦兜搞IT的合集视频Windows10开发环境搭建中的部分内容 1. 安装WSL2 按照微软官方文档进行操作,当然也可以直接wsl --install 也可以按照 旧版手动安装的步骤 来进行操作 选择安装的是Ubuntu 20.04 LTS 注:WSL默认安装…...

深度学习基础(四)医疗影像分析实战

之前的章节我们初步介绍了卷积神经网络(CNN)和循环神经网络(RNN): 深度学习基础(三)循环神经网络(RNN)-CSDN博客文章浏览阅读1.2k次,点赞17次,收…...

ChatGPT调教指南 | 咒语指南 | Prompts提示词教程(一)

在我们开始探索人工智能的世界时,了解如何与之有效沉浸交流是至关重要的。想象一下,你手中有一把钥匙,可以解锁与OpenAI的GPT模型沟通的无限可能。这把钥匙就是——正确的提示词(prompts)。无论你是AI领域的新手,还是希望优化与大型语言模型交流的老手,掌握如何精确使用…...

LeetCode | 两数相加 C语言

Problem: 2. 两数相加 文章目录 思路解题方法Code一些感想 思路 主要是一一相加和逆序的方式存储 先说逆序储存,看下图 我们先声明出指针p和指针q,还有指针head(主要用于return上而已),然后进行一系列操作&#xff0c…...

【Spring MVC】处理器映射器:AbstractHandlerMethodMapping源码分析

目录 一、继承体系 二、HandlerMapping 三、AbstractHandlerMapping 四、AbstractHandlerMethodMapping 4.1 成员属性 4.1.1 MappingRegistry内部类 4.2 AbstractHandlerMethodMapping的初始化 4.3 getHandlerInternal()方法:根据当前的请求url,…...

网络编程知识整理

目录 1.1 引言 1.2 分层 1.3 TCP/IP的分层 1.4 互联网的地址 1.5 域名服务 1.6 封装 1.7 分用 1.8 端口号 1.1 引言 很多不同的厂家生产各种型号的计算机,它们运行完全不同的操作系统,但 T C P / I P协议族允许它们互相进行通信。这一点很让人感…...

【小白友好】leetcode 移动零

https://leetcode.cn/problems/move-zeroes/description/ 小白思想 思想上还是首先开一个指针i,i从左到右扫每一个元素,i每发现一个0,就把这个0推到最后,这样i到最后就可以了。 这个和删除元素那个题解的小白思想和一模一样&am…...

迭代、递归、尾递归实现斐波那契数列的第n项

1.什么是斐波那契数列: 斐波那契数,亦称之为斐波那契数列(意大利语: Successione di Fibonacci),又称黄金分割数列、费波那西数列、费波拿契数、费氏数列和兔子数列,指的是这样一个数列:0、1、…...

vulnhub靶场之driftingblues-1

一.环境搭建 1.靶场描述 get flags difficulty: easy about vm: tested and exported from virtualbox. dhcp and nested vtx/amdv enabled. you can contact me by email (it should be on my profile) for troubleshooting or questions. 2.靶场下载 https://www.vulnhub.…...

NGINX服务器配置实现加密的WebSocket连接WSS协议

一、背景 最近在做小程序开发,需要在nginx中配置websocket加密模式,即wss。初次配置wss时,踩了两个小时的坑,本文将踩坑过程分享给大家,有需要用到的伙伴可以直接copy即可实现,节省宝贵时间。 二、WebSo…...

5个免费文章神器,用来改写文章太方便了

在当今信息爆炸的时代,内容创作和编辑是网络世界中至关重要的环节。然而,有时候我们可能会遇到一些内容需要进行改写或者重组的情况。为了提高效率,让这一过程更加顺畅,我们可以借助一些免费的文章神器来帮助我们完成这一任务。下…...

详细教程!VMware Workstation Pro16 安装 + 创建 win7 虚拟机!

嚯嚯嚯,很多宝子都想拥有自己不同的操作系统环境,用于学习或项目搭建。买服务器费钱,虚拟机则成为了一个很好的选择。本文详细介绍VMware Workstation Pro 16安装及win7虚拟机创建,保姆级教程奉上! 一、准备工作 VMw…...

Python文件和异常(二)

目录 三、异常 (一)处理 ZeroDivisionError 异常 (二)使用 try-except 代码块 (三)使用异常避免崩溃 (四)else 代码块 (五)处理 FileNotFoundError 异常…...

大模型+影像:智能手机“上春山”

这个春节假期,一首《上春山》火了。吃瓜群众热热闹闹学了一个假期的“春山学”,了解了抢占C位的各种技巧。 假期过去,开工大吉,手机行业开始抢占今年的C位。那么问题来了,今年智能手机最大的机会点在哪里?答…...

8-pytorch-损失函数与反向传播

b站小土堆pytorch教程学习笔记 根据loss更新模型参数 1.计算实际输出与目标之间的差距 2.为我们更新输出提供一定的依据(反向传播) 1 MSEloss import torch from torch.nn import L1Loss from torch import nninputstorch.tensor([1,2,3],dtypetorch.fl…...

MySQL高级特性篇(8)-数据库连接池的配置与优化

MySQL数据库连接池的配置与优化 MySQL数据库是当前最流行的关系型数据库管理系统之一,高效的数据库连接池配置与优化是提高数据库性能和并发性能的重要手段。本文将介绍MySQL数据库连接池的配置与优化,并提供详细示例。 1. 连接池的作用与优势 数据库…...

mac下使用jadx反编译工具

直接执行步骤: 1.创建 jadx目录 mkdir jadx2.将存储库克隆到目录 git clone https://github.com/skylot/jadx.git 3. 进入 jadx目录 cd jadx 4.执行编译 等待片刻 ./gradlew dist出现这个就代表安装好了。 5.最后找到 jadx-gui 可执行文件,双击两下…...