首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏前端二次元

    Skyline 渲染引擎——接近原生渲染性能体验

    简介小程序一直以来采用都是 AppService 和 WebView 双线程模型,基于 WebView 和原生控件混合渲染方式,小程序优化扩展了 Web 基础能力,保证了在移动端上有良好性能和用户体验 尽管各大厂商在不断优化 Web 性能,但由于其繁重历史包袱和复杂渲染流程,使得 Web 在移动端表现与原生应用仍有一定差距。 为了进一步优化小程序性能,提供更为接近原生用户体验,我们在 WebView 渲染之外新增了一个渲染引擎 Skyline,其使用更精简高效渲染管线,并带来诸多增强特性,让 Skyline 拥有接近原生渲染性能体验 Skyline 内置组件行为接近原生体验,部分内置组件(如 scroll-view、swiper 等)借助于底层实现,有更好性能和交互体验。 全新交互动画体系要达到类原生应用体验,除渲染性能要好外,做好交互动画也很关键。在 Web 体系下,难以做到像素级可控,交互动画衔接不顺畅,究其原因,在于缺失了一些重要能力。

    1.6K50编辑于 2023-11-30
  • 来自专栏佛曰不可说丶

    vue3打造接近原生体验抽屉指令

    源码 vue3打造近乎原生体验手势交互体验探索指南 扯淡 我:jym想死你们了,沉寂多天,我带着高质量文章回来了, jym:你谁啊? 爱写不写!! 想说的话说完了,我们言归正传 为什么webapp体验很差 在我们现在大多数app中,大家都会发现,基本清一色使用原生开发,只有在不重要页面中,才会使用webapp,也就是所谓h5页面 之所以是h5 为了优化体验问题,我们还需要解决几个问题,才能形成一个接近原生体验组件 需要解决问题 1、抽屉内滚动条滑动和拖动冲突问题如何解决? ,拖动抽屉时候,在粗鲁之辈暴力测试中,由于节流函数限制,他却不跟手,性能是好了,体验却极差 这是两瓶毒药啊? 遵循两权相害取其轻原则,遵循有一个能跑原则 我们只能取消节流函数!

    83630编辑于 2023-07-09
  • 来自专栏前端小码农

    接近三数之和

    接近三数之和 题目描述 给定一个包括 n 个整数数组 nums 和 一个目标值 target。找出 nums 中三个整数,使得它们和与 target 最接近。返回这三个数和。 示例: 输入:nums = [-1,2,1,-4], target = 1 输出:2 解释:与 target 最接近和是 2 (-1 + 2 + 1 = 2) 。 1处,后指针指向end = nums.length - 1,也就是结尾处 根据 sum = nums[i] + nums[start] + nums[end]结果,判断 sum 与目标 target 距离 ,如果距离比当前 result 与目标 target距离更小,则将sum更新为result 同时判断 sum 与target大小关系,因为数组有序,如果 sum > target, 则 end--, 排序需要使用 O(logN) 空间

    51950发布于 2020-07-17
  • 来自专栏流媒体技术

    Cocos Creator 2.2 渲染流程(原生渲染

    Cocos Creator 升级2.2之后,渲染流程发生了比较大变化,主要是重构了一些类,属性位置发生了变化。为了防止日后忘记,先记录下来。 首先在engine/cocos2d/core/renderer/index.js中定义了cc.renderer对象,是一个全局对象,里面存放了一些渲染有关类定义以及一些全局属性如device 核心是两个属性 实例 渲染开始 入口代码在engine/cocos2d/core/renderer/index.js中render方法: render (ecScene, dt) { this.device.resetDrawCalls _renderScene, dt); }; 接下来会进入两个大流程: A-------------- RenderFlow.visitRootNode(scene); 这句将进入RenderFlow实例里面的方法调用 在RenderFlow实例方法中 核心方法是_updateRenderData用于更新各级渲染对象顶点信息等 _render方法,用于执行实际渲染: _proto.

    1.8K20编辑于 2022-07-28
  • 来自专栏云云众生s

    Codestral:让 AI 驱动编码接近大众

    Codestral 被视为迈向赋予每个人代码生成和理解能力垫脚石,这是在人工智能创建应用程序代码工具领域长期竞争中最新一轮攻击。 Tabnine 研发主管 Meital Zilberstein 在一份声明中表示:“作为创建首款以开发者为中心 GenAI 工具公司一名研究员,我很荣幸将 Mistral 新代码模型集成到我们聊天产品中 我对其性能印象深刻。”“尽管其体积相对较小,但它提供结果与我们向客户提供更大模型不相上下。我们测试了几项关键功能,包括代码生成、测试生成、文档、入职流程等。 Mistral AI 团队在博客文章中写道:“AI 开放性受到威胁,围绕 AI 争论被用来巩固这个高度竞争行业中现有参与者地位。”“我们已经发声捍卫 AI 开放性,并将不懈地继续这样做。” Jason Bloomberg 表示,Codestral 是在人工智能创建应用程序代码工具长期竞争中发出最新号角,他是 Intellyx 分析师。

    53010编辑于 2024-06-04
  • 来自专栏音视频咖

    互动云渲染——云原生渲染初步探索

    ,从去年开始我主要精力投入到整个行业内相对比较新方向,包括云原生能力在内初步技术探索,这也是我今天分享主题——互动云渲染,主要是和大家探讨一下云原生渲染能力,以及可能会遇到问题。 云渲染介绍 首先介绍一下云渲染。 如果用一句话介绍,云渲染就是把我们软件和游戏放到云端运行,通过全端SDK支持接入,用户可以跨任何平台实现接近于本地延迟及画质操作体验。 如果从层次来看,云渲染是什么呢?云渲染是我们基于底层内容、资源、调度服务。构建中间层云端游、云手游、云应用PaaS能力,最终以SaaS或者解决方案形式推出一些成品。 云渲染说到底是想要提供接近于本地平台原生体验能力,这有两大非常重要东西,一个是延迟,一个是画质。延迟和画质之间又有相互矛盾地方,接下来就来分析一下。 这个实践虽然是理想实践,但也会有一些瓶颈,比如因为一张GPU卡只跑一路,编码肯定能跟上,但一张GPU跑多路,那编码性能整体可能就跟不上了。

    2.6K30编辑于 2021-12-24
  • 来自专栏音视频技术

    互动云渲染——云原生渲染初步探索

    ,从去年开始我主要投入到整个行业内相对比较新方向,包括云原生能力在内初步技术探索,这也是我今天分享主题——互动云渲染,主要是和大家探讨一下云原生渲染能力,以及可能会遇到问题。 云渲染介绍 首先介绍一下云渲染。 如果用一句话介绍,云渲染就是把我们软件和游戏放到云端运行,通过全端SDK支持接入,用户可以跨任何平台实现接近于本地延迟及画质操作体验。 如果从层次来看,云渲染是什么呢?云渲染是我们基于底层内容、资源、调度服务。构建中间层云端游、云手游、云应用PaaS能力,最终以SaaS或者解决方案形式推出一些成品。 云渲染说到底是要提供接近于本地平台原生体验能力,是有两大非常重要东西,一个是延迟,一个是画质。延迟和画质之间又有相互矛盾地方,接下来就来分析一下。 这个实践虽然是理想实践,但也会有一些瓶颈,比如因为一张GPU卡只跑一路,编码肯定能跟上,但一张GPU跑多路,那编码性能整体可能就跟不上了。

    4K22编辑于 2021-12-21
  • 来自专栏软件绿色联盟动态

    体验流畅,探索应用性能优化之软件绘制

    软件绿色联盟联合华为终端实验室,对大量应用卡顿现象进行了分析、总结,希望能够为应用开发者提供性能优化建议,共同打造更好使用体验。 绘制过程主要是由CPU 来进行Measure、Layout、Record、Execute数据计算,GPU进行Rasterization(栅格化)、渲染操作。 如果渲染过程中,不使用硬件加速,我们称之为软件绘制,如果使用硬件加速,则称为硬件绘制。 针对软件绘制问题进行优化,可以有效提升应用性能表现和用户体验。 2. 这是由于应用在早期设计时,为了兼容低端手机硬件平台性能,默认采用软件绘制方式进行图像绘制。而随着芯片平台不断发展,大多数应用场景不会再受到手机性能限制。

    71830编辑于 2022-03-31
  • 来自专栏软件绿色联盟动态

    体验流畅,探索应用性能优化之过度绘制

    过度绘制会浪费大量CPU、GPU资源,影响应用启动时间和响应时间,最直观表现就是会造成掉帧、卡顿等现象。因此尽量减少Overdraw发生,可以有效提升应用性能表现和用户体验。 分别在各应用多个页面滑动,基于人眼主观流畅性体验,抓取不流畅页面对应systrace、applog日志; 3. 根据systrace日志,分析不流畅界面丢帧情况; 4. 经华为终端开放实验室近期测试发现,上述应用已在新版本优化该问题,用户可及时更新版本获取更好使用体验。 3. 针对列表滑动界面,建议抓取对应systrace计算帧率,比如60hz手机,滑动帧率是否接近60。 3)合理选择容器控件:LinearLayout易用,效率高,表达能力有限。 RelativeLayout复杂,表达能力强,但是性能稍差。开发者应根据实际情况进行取舍,在保证性能同时尽量避免OverDraw。

    1.6K10编辑于 2022-03-31
  • 来自专栏Unity游戏开发

    Shader-复杂光照-渲染路径

    渲染路径 前向渲染路径、延迟渲染路径和顶点照明渲染路径 1.前向渲染路径原理 前向渲染需要渲染该对象渲染图元,并计算两个缓冲区信息:一个是颜色缓冲区、一个是深度缓冲区。 使用哪种处理模式取决于光源类型和渲染模式。 其中渲染模式指该光源是否重要(important)。 2.延迟渲染原理 在场景中存在大量实时光源时候,前向渲染会执行多个Pass,再将这些结果混合起来得到最终光照。 而延迟渲染是使用额外缓冲区(G缓冲:G-buffer),其中存储了我们关心表面信息。 延迟渲染包含两个Pass,一个不进行任何光照计算,仅仅计算那些片元可见,第二个Pass进行真正光照计算。

    97010发布于 2019-05-29
  • 来自专栏薛定喵君

    wemark小程序Markdown渲染渲染原生图片标签问题

    小程序Markdown渲染渲染问题小记 最近在使用Markdown渲染库wemark 过程中遇到了图片不能显示问题。 渲染库可以渲染markdown语法格式图片,但是对于自定义大小了原生图片标签却无法正常渲染,导致markdown文件中图片无法正常显示。 首先我们知道markdown中插入图片有几种方式 ! 类似如下这种 这样子在显示时候就可以看到图片显示大小得到了控制,但是Markdown渲染库无法识别。 所以暂时采取了一个比较曲线方法,就是把原生图片标签再转换为md支持图片格式 使用正则把图片标签转为markdown图片语法 let imgReg = /<img.*?(? ')' cnt = cnt.replace(arr[i], 'img' + i).replace('img' + i, imgMdStr) } } 这样图片就被还原为渲染库支持格式

    1.8K30发布于 2020-05-31
  • 来自专栏云计算D1net

    如何为高性能计算应用程序提供云原生体验

    性能计算(HPC)是企业获得创新能力、洞察力、商业竞争力动力,是这个数字时代不可或缺资源。 虽然对于某些高性能计算(HPC)而言,通常是以最低成本获得最多计算能力,但其成功交付以及高性能计算(HPC)应用程序最佳运行,在很大程度上依赖于性能和速度。 大型云计算提供商通过大量使用自己服务器来响应对高性能计算(HPC)集群需求。通过这些硬件可以提高性能,而服务器CPU则可以通过商用GPU进行扩充,以用于更大规模性能计算(HPC)应用。 随着企业越来越依赖高性能计算(HPC)输出,他们必须寻找一个真正优化环境,在这个环境中,高性能计算(HPC)集群能够以可重复方式部署,并且电力和成本是可持续,并且不会有经济损失。 最终,在云中运行复杂性能计算(HPC)应用程序潜力是巨大,但如果人们真正获得好处,必须面对并解决性能、速度、成本基本挑战。 (来源:企业网D1net)

    1.2K30发布于 2019-07-22
  • 来自专栏壹种念头

    基础渲染系列(十)——复杂复合材质

    本文重点: 1、烘焙自阴影到材质中 2、给表面的某些部分增加细节 3、支持更多效果变体 4、一次性编辑多个材质 这是关于渲染系列教程第十部分。上一次,我们使用了多个纹理来创建复杂材质。 由于遮挡贴图基于是表面形状而不是特定光,因此将其仅应用于间接光才是有意义。来自四面八方光会随着进入凹坑深度而减少。但是,当灯光直接照射在其上时,凹痕应完全点亮。因此,我们删除方向光遮挡。 SSAO是一种后处理图像效果,它使用深度缓冲区动态创建整个帧遮挡图。它用于增强场景深度感。由于它是一种后处理效果,因此在渲染所有灯光之后将其应用于图像。这意味着阴影会同时应用于间接和直接光。 但我不希望这样做,因为颜色选择不像使用或不使用纹理那样是二进制。容易出现意料之外问题,例如未应用动画颜色,因为它们最初是白色。 标准着色器确实根据自发光颜色设置其自发光关键字。 不必使用目标字段,我们需要遍历编辑器目标数组中所有材质。让我们使用一个foreach循环来执行此操作,因为它是简洁代码,在这里我们不必担心性能。 ? foreach如何工作?

    3.2K30发布于 2020-07-10
  • 来自专栏code秘密花园

    分析 React 组件渲染性能

    今天,我们介绍一下如何使用 React Profiler API 分析 React 组件渲染性能。 ? 出于演示目的,我们将使用一个电影排队 APP 。 之类问题,那就太强大了。感谢 Brian Vaughn, React 通过新调度器包中交互跟踪API对交互跟踪提供了实验支持。这里有详细记录。 它提供了了 tracing.start()/stop() 这些工具方法,以捕获 DevTools 工作性能跟踪。下面,我们使用它来跟踪单击主按钮时发生情况。 User Timing API 通过 User Timing API,可以使用高精度时间戳来测量应用程序自定义性能指标。 注意:React从他们开发包中删除了 User Timing API ,取而代之是 React Profiler,它提供了准确计时。他们可能会在未来3级浏览器中重新添加它。

    4.4K10发布于 2020-06-18
  • 来自专栏APP开发

    原生APP性能优化

    原生APP性能优化是确保用户体验流畅、响应迅速关键。以下是一些常用性能优化策略。1. 代码优化:避免冗余代码: 删除不再使用代码、变量和函数。 重构重复代码,提高代码复用性。 UI优化:减少布局层级: 优化布局结构,减少嵌套层级,提高渲染效率。 使用ConstraintLayout等高效布局。异步加载图片和资源: 在后台线程加载图片和资源,避免阻塞UI线程。 避免过度绘制: 减少视图重绘和重布局次数。 使用View.invalidate()和View.requestLayout()方法时要谨慎。使用硬件加速: 开启硬件加速,利用GPU加速UI渲染。 使用性能分析工具: Android StudioProfiler工具:用于分析CPU、内存、网络、电量等性能指标。 Systrace工具:用于分析系统性能,找出性能瓶颈。 用户体验性能优化要以用户体验为中心,不要为了追求极致性能而牺牲用户体验。监控: 在应用上线后,持续监控性能指标,及时发现和解决问题。

    79010编辑于 2025-03-12
  • 来自专栏walterlv - 吕毅的博客

    通过分析 WPF 渲染脏区优化渲染性能

    本文介绍通过发现渲染脏区来提高渲染性能。 ---- 脏区 Dirty Region 在计算机图形渲染中,可以每一帧绘制全部画面,但这样对计算机性能要求非常高。 脏区(Dirty Region)引入便是为了降低渲染对计算机性能要求。每一帧绘制时候,仅仅绘制改变部分,在软件中可以节省大量渲染资源。而每一帧渲染时,改变了需要重绘部分就是脏区。 以下是我一款 WPF 程序 Walterlv.CloudKeyboard 随着交互进行不断需要重绘脏区。 可以看到,脏区几乎涉及到整个界面,而且刷新非常频繁。这显然对渲染性能而言是不利。 当然这个程序很小,就算一直全部重新渲染性能也是可以接受。不过当程序中存在比较复杂部分,如大量 Geometry 以及 3D 图形时候,重新渲染这一部分将带来严重性能问题。 ,同时有更好阅读体验

    91820编辑于 2023-10-22
  • 来自专栏APP开发

    原生 APP 性能测试

    关于原生 APP 性能测试,这是确保应用程序在用户设备上运行流畅、响应迅速且资源消耗合理重要环节。性能测试目的是识别和解决潜在瓶颈,提升用户体验原生 APP 性能测试通常关注以下几个关键方面:1.启动速度 (Startup Time):测量从用户点击应用图标到应用主界面完全显示并可交互所需时间。快速启动速度是提升用户第一印象关键。 2.UI 渲染性能 (UI Rendering Performance):关注界面的绘制效率,确保滚动、滑动、动画等操作流畅不卡顿。 Core Animation: 帮助分析 UI 渲染性能,找出帧率下降原因。Network: 监控网络请求和数据传输。Energy Log: 分析电量消耗情况。 原生 App 性能测试是一个复杂但至关重要过程,需要贯穿于整个开发生命周期,而不仅仅是在开发后期进行。通过系统性能测试,可以确保交付给用户高质量、高性能应用程序。

    96910编辑于 2025-04-27
  • 来自专栏APP开发

    原生APP性能优化

    原生APP性能优化是确保应用流畅运行、提升用户体验关键环节。以下是一些基于最新搜索结果性能优化方法和策略。1.代码优化精简代码:去除不必要代码、注释和空格,减小文件体积。 5.框架与工具选择高性能框架:选择性能优秀框架和库,如React Native、Flutter等,虽然这些是跨平台框架,但在某些场景下也可以用于原生开发。 7.用户体验优化减少启动时间:优化应用启动流程,减少不必要初始化操作,加快启动速度。优化动画和过渡效果:使用硬件加速和高效动画库(如Lottie)来优化动画和过渡效果,减少卡顿。 8.平台特定优化iOS优化:使用Metal或Core Graphics:对于图形密集型应用,使用Metal或Core Graphics来优化图形渲染。 通过以上方法,原生APP性能可以得到显著提升,为用户提供流畅、更高效体验

    79510编辑于 2025-03-22
  • 来自专栏mathor

    对抗验证:划分一个跟测试集接近验证集

    也就是说,如果只看输入x,那么分布基本上是差不多,但是对应y分布不一样,典型例子就是信息抽取任务(例如关系抽取),训练集和验证集输入x都是某一领域文本,所以他们分布很接近。 这种情况下我们可以适当调整采样策略,让验证集跟测试集分布接近,从而使得验证集结果能够更好反应测试集结果 Adversarial Validation Adversarial Validation 网上翻译是对抗验证,它并不是一种评估模型方法,而是一种用来验证训练集和测试集分布是否一致、找出影响数据分布不一致特征、从训练集中找出一部分与测试集分布接近数据。 AUC指标判别两个数据集分布是否接近,越接近0.5表示他们分布越相似。 大神都开始用对抗验证了 Text Classification with Extremely Small Datasets Adversarial-Validation 如何划分一个跟测试集接近验证集

    2.7K30发布于 2021-07-07
  • 来自专栏全栈技术

    服务端渲染(SSR):提升Web应用性能和用户体验关键技术

    SSR通过在服务器端生成并提供HTML,有助于提升Web应用性能、搜索引擎优化(SEO)以及用户体验。本文将深入探讨SSR定义、优势、实现方式、适用场景以及如何开始使用SSR来改进Web应用。 为什么选择服务端渲染(SSR) 2.1 提升性能 SSR可以显著减少首次加载时间,因为浏览器直接接收到完整HTML页面,而不需要等待JavaScript下载和执行。 2.3 提高用户体验 更快加载时间和更好SEO可以改善用户体验,减少用户等待时间和提高网站可访问性。 3. 4.3 首屏渲染速度要求高 对于那些要求页面快速加载并具备良好用户体验应用,SSR可以降低首屏渲染时间。 5. 结语 服务端渲染(SSR)是提升Web应用性能、SEO和用户体验关键技术之一。通过在服务器端生成页面内容,SSR可以显著减少首次加载时间,改善搜索引擎优化,并提供更好用户体验

    3.5K40编辑于 2023-09-16
领券