【混合開發】【大前端++】Vue節點優化Dome之單節點輪播圖片播放視頻二

動圖更精彩

在這里插入圖片描述

背景

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 二叉樹的基本分類 四. 二叉…