动图更精彩

在这里插入图片描述

背景

Vue作为大前端开发页面交互,在数字屏,智慧大屏等大屏幕开发过程中,轮播效果作为丰富的展示组件经常作为首选。但也因为这个组件的交互体验很好,于是各种单点组件增加到轮播效果里。经过业务的扩展,人员的更迭。轮播组件的节点呈现爆炸的增长,而客户使用方还觉得不满足,于是在节点暴增,节点业务丰富的情况下浏览器和webview等移动浏览器的渲染性能就更不上了,于是就有了白屏,花屏,黑屏,卡顿严重等等异常的画面现象。问题的现象和原因大家都知道,但产品方、甲方、使用方、开发方等等多方面的拉扯优化方向迟迟无法落地,因此需要用demo来验证性能的优化对比,达到可对比,可测量,可验证。

Vue页面源码如下:

<template><div class="player-box"><!-- 封面轮播 --><transition name="fade"><imgv-if="showCover":src="list[index].cover"class="cover"@click="play"/></transition><!-- 视频 --><videov-show="!showCover"controlspreload="auto"ref="videoRef"class="video":src="list[index].video"@ended="onEnded"@error="onEnded"@loadstart="onLoadStart"/></div>
</template><script>
import coverFiles from '@/assets/covers.json';
// import videoFiles from '@/assets/videos.json';export default{name: 'SwipeCoverVideoCarousel6',data(){return{covers:coverFiles,list:[{ cover: 'https://picsum.photos/640/360?random=1', video: 'https://www.w3schools.com/html/mov_bbb.mp4' },{ cover: 'https://picsum.photos/640/360?random=2', video: 'https://www.w3schools.com/html/movie.mp4' },{ cover: 'https://picsum.photos/640/360?random=3', video: 'https://www.w3schools.com/html/mov_bbb.mp4' },{ cover: 'https://picsum.photos/640/360?random=2', video: 'https://www.w3schools.com/html/movie.mp4' },],index:0,showCover:true}},mounted(){
// 首条自动播放this.$refs.videoRef.muted = true;this.$refs.videoRef.play();},methods:{
/* 3. 播放:隐藏封面 + 让视频真播放 */play() {console.log('play called!');this.$refs.videoRef.play()
},onLoadStart(){console.log('onLoadStart called!');this.showCover = false},/* 4. 视频结束:回到封面 → 3 秒后切下一张 → 如果还有就自动再播 */onEnded() {console.log('onEnded called!');this.showCover = true                // 1. 回到封面setTimeout(() => {this.index = (this.index + 1) % this.list.length   // 2. 轮播下一张console.log('轮播下一张 called!');this.$nextTick(() => this.play())// 3. 自动播放下一条视频}, 3000)
}},}</script><style scoped>
.player-box {position: relative;width: 640px;height: 360px;margin: 40px auto;overflow: hidden;
}
.cover,
.video {position: absolute;inset: 0;width: 100%;height: 100%;object-fit: cover;cursor: pointer;
}
/* 淡入淡出 */
.fade-enter-active,
.fade-leave-active {transition: opacity 0.4s;
}
.fade-enter-from,
.fade-leave-to {opacity: 0;
}
</style>

当然这个优化方案大概率是接受不了的,不过这个作为一个极限单节点方案作为提高渲染性能的对比的标的还是很有必要的

性能参数:

业务组件节点数:2
渲染性能:很好

Vue节点优化大纲

在这里插入图片描述

推荐理由

postman在国内使用已经越来越困难:
1、登录问题严重
2、Mock功能服务基本没法使用
3、版本更新功能已很匮乏
4、某些外力因素导致postman以后能否使用风险较大
5、postman会导致电脑卡顿,而且使用的功能越多越慢,尤其是win电脑,太让人郁闷了
出于以上考虑因此笔者自己开发了一款api调试开发工具SmartApi,满足基本日常开发调试api需求

SmartApi
win版本不大于1M;运行消耗性能极低
macos 版本不大于100M;运行消耗性能极低

非常适合开发设备或性能有限的开发环境

SmartApi只为开发服务

官网地址SmartApi

http://www.smartapi.site/

在这里插入图片描述


旧版本已停止维护

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/96618.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/96618.shtml
英文地址,请注明出处:http://en.pswp.cn/web/96618.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

前端开发核心技术与工具全解析:从构建工具到实时通信

觉得主包文章可以的,可以点个小爱心哟&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01; 主页:一位搞嵌入式的 genius-CSDN博客 系列文章专栏: https://blog.csdn.net/m0_73589512/category_13028539.html 前端开发核心技术与工具全解…

GPT 系列论文 gpt3-4 175B参数 + few-shot + 多模态输入 + RLHF + system

GPT&#xff0c;GPT-2&#xff0c;GPT-3 论文精读【论文精读】 GPT-4论文精读 从1750亿参数的文本预言家&#xff0c;到多模态的通用天才&#xff0c;OpenAI用两次震撼世界的发布&#xff0c;重新定义了人工智能的可能性边界。这份笔记将带你深入GPT-3和GPT-4的核心突破&#…

.gitignore文件的作用及用法

目录 ​​.gitignore 文件的作用​​ ​​.gitignore 的基本语法​​ ​​Python 项目的 .gitignore 示例​​ ​​如何使用 .gitignore​​ ​​1. 创建 .gitignore 文件​​ ​​2. 编辑 .gitignore​​ ​​3. 检查 Git 状态​​ ​​常见问题​​ ​​Q1&#xff…

QEMU环境准备

QEMU环境准备 下载 qemu # qemu sudo apt install qemu-system-arm # gdb sudo apt install gdb-multiarchsudo apt-get update sudo apt-get install build-essential zlib1g-dev pkg-config libglib2.0-dev \libpixman-1-dev libfdt-dev ninja-build下载并自行编译 qemu(可…

003 cargo使用

cargo是什么 cargo 是 Rust 的构建系统和包管理器。Rust 开发者常用 cargo 来管理 Rust 工程和获取工程所依赖的库。 在上一篇文章中我们已经使用cargo new命令创建了一个名叫hello_rust的项目。也使用cargo run来运行项目。 cargo常用命令 cargo 除了创建工程以外还具备构建&a…

跨省跨国监控难题破解:多层级运维的“中国解法”

在全球化的商业浪潮中&#xff0c;集团型客户的业务布局日益广泛&#xff0c;涉及跨省甚至跨国的多个分支机构和业务节点。这种跨域管理的模式给企业的运维监控带来了前所未有的挑战。多个分支机构和业务节点运维调整首先&#xff0c;不同地区的网络环境差异巨大。从国内不同省…

pandas读取复合列名列头及数据和处理

pandas读取复合列名列头及数据和处理1. 效果图2. 源代码1. 效果图 原始excel&#xff1a; 读取1&#xff0c;2行为复合表头&#xff1a; 读取序号为1003一整行的数据&#xff0c;以及获取序号为1002行及1003行的C列复合表头列的值&#xff1a; 2. 源代码 import pandas …

制作一个简单的vscode插件

当前环境情况 操作系统&#xff1a;Windows 项目类型&#xff1a;VS Code 插件&#xff08;TypeScript 编写&#xff09; Node.js 版本&#xff1a;20.18.1 yarn 版本&#xff1a;1.22.22 npm 版本&#xff1a;10.8.2 npm registry&#xff1a;huawei ------- https://repo.hua…

分布式专题——10.2 ShardingSphere-JDBC分库分表实战与讲解

1 分库分表案例 下面实现一个分库分表案例&#xff0c;将一批课程信息分别拆分到两个库&#xff0c;四个表中&#xff1a; 需提前准备一个 MySQL 数据库&#xff0c;并在其中创建 Course 表。Course 表的建表语句如下&#xff1a; CREATE TABLE course (cid bigint(0) NOT N…

Digital Clock 4,一款免费的个性化桌面数字时钟

Digital Clock 4&#xff0c;一款免费的个性化桌面数字时钟 ** 功能 ** &#xff1a;一款免费的桌面数字时钟工具&#xff0c;支持多种皮肤、透明度调节和字体样式自定义&#xff0c;时钟可自由拖动&#xff0c;支持设置闹钟、定时关机、显示自定义消息等功能&#xff0c;适合想…

学习Python是一个循序渐进的过程,结合系统学习、持续实践和项目驱动,

学习Python是一个循序渐进的过程&#xff0c;结合系统学习、持续实践和项目驱动&#xff0c;你会掌握得更好。下面我为你梳理了一个分阶段的学习路线和实用建议&#xff0c;希望能帮你高效入门并逐步提升。 &#x1f40d; Python学习指南&#xff1a;从入门到精通 &#x1f5…

vcpkg:面向C/C++的跨平台库管理工具软件配置笔记经验教程

1、什么是vcpkg 对于使用过Python进行程序设计的开发者们&#xff0c;大多都会对Python的各种库和依赖&#xff0c;仅仅通过几条简单命令行就完成配置的操作感到惊叹&#xff0c;非常的省事省力。反倒是C/C开发时&#xff0c;要是每个库都要自己下载源码编译或者对环境进行配置…

【Docker】常用帮忙、镜像、容器、其他命令合集(2)

【Docker】常用帮忙、镜像、容器、其他命令合集&#xff08;2&#xff09;博主有话说容器命令新建容器并启动列出所有的运行的容器退出容器docker run -it centos:7.0.1406 /bin/bash指令解析docker exec -it ... bash 、docker run -it ... bash、docker attach [容器] 的exit…

系统编程.9 线程

1.线程概述程序运行起来编程进程&#xff0c;进程由一个个线程构成。eg&#xff1a;没有启动的qq时一个程序&#xff0c;启动后登录qq&#xff0c;qq是一个进程&#xff0c;实际上进程什么都没做&#xff0c;只是提供了需要的资源&#xff0c;打开聊天框可以和别人进行通信&…

2.10组件间的通信

1.Vue组件的嵌套关系1.1认识组件的嵌套前面我们是将所有的逻辑放到一个 App.vue 中&#xff1b;在之前的案例中&#xff0c;我们只是创建了一个组件 App&#xff1b;如果我们一个应用程序所有的逻辑都放在一个组件中&#xff0c;那么这个组件就会变成非常的臃肿和难以维护&…

Mybatis-Plus学习笔记

目录 一、MyBatis-Plus简介 二、MyBatisPlus使用的基本流程&#xff1a; &#xff08;1&#xff09;引入MybatisPlus依赖&#xff0c;代替MyBatis依赖 &#xff08;2&#xff09;自定义Mapper继承BaseMapper ​编辑&#xff08;3&#xff09;在实体类上添加注解声明表信息…

Day22 用C语言编译应用程序

文章目录1. 保护操作系统5&#xff08;harib19a&#xff09;2. 帮助发现bug&#xff08;harib19b&#xff09;3. 强制结束应用程序&#xff08;harib19c&#xff09;4. 用C语言显示字符串&#xff08;harib19e&#xff09;5. 显示窗口&#xff08;harib19f&#xff09;1. 保护操…

简单学习HTML+CSS+JavaScript

一、HTML HTML被称为 超文本标记语言&#xff0c;是由一系列标签构成的语言。 下面介绍HTML中的标签&#xff1a; &#xff08;一&#xff09;HTML文件基本结构 <!DOCTYPE html><html><head><title>Document</title></head> <body&…

强化学习中重要性采样

PPO 中重要性采样 https://github.com/modelscope/ms-swift/blob/main/docs/source/Instruction/GRPO/GetStarted/GRPO.md乐&#xff0c;这个网页中是的groundtruth是错误的&#xff08;可能是为了防止抄袭&#xff09;。一些例子 0. 池塘养鱼的一个例子 想象一下&#xff0c;你…

《树与二叉树详解:概念、结构及应用》

目录 一. 树的概念和结构 1.1 树的基本概念 1.2 树的结构特点 二. 树的表示方法和实际运用 2.1 孩子 - 兄弟表示法&#xff08;Child-Sibling Representation&#xff09; 2.2 树的实际应用场景 三. 二叉树的概念 3.1 二叉树的核心定义 3.2 二叉树的基本分类 四. 二叉…