Unity打包WebGL的优化常用操作?

2023-11-20

1.贴图部分优化

如果贴图格式时2048,在不影响画面效果的情况下,改成1024或者5#12,还可以缩小包体。

2.压缩和解压缩问题

WebGL打包的时候分三种压缩情况:
gzip:比Brotli文件打,但打包快,http和https都支持
Brotli:压缩格式最小,打包慢,只有谷歌和火狐支持。
Disabled:不压缩。

3.不使用文件压缩,在 http 协议层使用gzip压缩

直接打包一份不压缩的版本,在Publishing Settings 中的Compression Format选择Disabled。

测试打开本地场景的时间,是否比gzip或brotli压缩快了。

本地不需要下载WebGl的项目,而且跳过了解压的过程,减少了时间消耗。

4.提升解压缩速度

  1. 若使用gzip格式压缩,可以通过配置服务器,来加快解压缩的时间,从而减少启动时间。
    然后创建.htaccess文件,放到Build子文件夹中。
# This configuration file should be uploaded to the server as "<Application Folder>/Build/.htaccess"
# NOTE: "mod_mime" Apache module must be enabled for this configuration to work.
<IfModule mod_mime.c>

# The following lines are required for builds without decompression fallback, compressed with gzip
RemoveType .gz
AddEncoding gzip .gz
AddType application/octet-stream .data.gz
AddType application/wasm .wasm.gz
AddType application/wasm .wasm
AddType application/javascript .js.gz
AddType application/octet-stream .symbols.json.gz

# The following lines are required for builds without decompression fallback, compressed with Brotli
RemoveType .br
RemoveLanguage .br
AddEncoding br .br
AddType application/octet-stream .data.br
AddType application/wasm .wasm.br
AddType application/javascript .js.br
AddType application/octet-stream .symbols.json.br

# The following line improves loading performance for uncompressed builds
AddType application/wasm .wasm

# Uncomment the following line to improve loading performance for gzip-compressed builds with decompression fallback
#如果是gzip就取消注释下面这行
# AddEncoding gzip .unityweb
# AddEncoding gzip .wasm

# Uncomment the following line to improve loading performance for brotli-compressed builds with decompression fallback
#如果是br就取消注释下面这行
# AddEncoding br .unityweb

</IfModule>
  1. 在server.xml端Connector模块内加入以下代码
//启用压缩 默认不启用
 compression="on" 
 //进行压缩的最小值,低于该值的文件不进行压缩(单位B,默认2048,即默认2k)
compressionMinSize="2048"
# 不需要进行压缩的浏览器,当浏览器类型为指定的类型时,不进行压缩
noCompressionUserAgents="gozilla,traviata"
# 需要压缩的文件类型(多个类型以逗号分隔)
compressableMimeType="text/html,text/xml,image/png,text/css"
  1. conf目录下的web.xml文件,如果有些文件,你是希望下载下来,而不是用应用程序来打开,就这样配置
    application/octet-stream

5.设置WEBGL PLayer Setting

如果没有必须后台运行的必要就关闭后台运行P->Resolution and Presentation ->Run In BackGround

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Unity打包WebGL的优化常用操作? 的相关文章

  • WebGl 将 float 打包到 v4 中

    我有来自 Threejs 示例的代码示例 http twojs org examples webgl animation cloth http threejs org examples webgl animation cloth 5D其中浮
  • webgl glsl 模拟texture3d

    我正在将一块 opengl 移植到 webgl 并且我正在尝试模拟texture3d 不知怎的 有些事情出了问题 不需要插值 因为它仅用于计算 我不确定原始代码的几何部分 现在通过纹理获取每层属性 Update 好的 我重写了纹理 3d 函
  • 为 webgl 中的每个对象使用不同的顶点和片段着色器

    我在 webgl 中有一个包含多个对象的场景 对于每个对象 我想使用不同的顶点和片段着色器 我的第一个问题是 是否可以为每个对象都有一个着色器 我知道在 opengl 中这是可能的 这是与我的想法类似的伪代码 任何例子将不胜感激 glena
  • 为什么 WebGL 比 Canvas 更快?

    如果两者都使用硬件加速 GPU 来执行代码 为什么 WebGL 比 Canvas 更快 我的意思是 我想知道为什么在低级别上 从代码到处理器的链条 会发生什么 Canvas WebGL 直接与驱动程序通信 然后与显卡通信 Canvas 速度
  • Webgl 没有渲染我的圆圈

    我正在尝试学习如何使用 Webgl 并且已经学会了如何绘制三角形 正方形和直线 我在 webgl 中创建圈子时遇到问题 var InitDemo function var canvas document getElementById cir
  • 三.js:纹理到数据纹理

    我正在尝试在 JavaScript 中实现延迟网络摄像头查看器 使用 Three js 实现 WebGL 功能 我需要存储从网络摄像头抓取的帧 以便在一段时间 几毫秒到几秒 后显示它们 我可以在没有 Three js 的情况下使用canva
  • 在 Android WebView 中启用 WebGL

    如何在 Android 5 1 1 模拟器的 WebView 小部件中启用 WebGL 我通过检查了 WebGL 状态Webgl 报告 http webglreport com结果是 此浏览器支持 WebGL 但它被禁用或不可用 有时这是由
  • 以到最近边缘的距离为函数的着色矩形会在对角线上产生奇怪的结果

    I m trying to color a rectangle in ShaderToy GLSL in function of each pixel s distance to the nearest rectangle edge How
  • WebGL/OpenGL:根据设备方向旋转相机

    我有一个 Web 应用程序 我试图在 3D 空间中显示地图图像图块的平面 我希望无论设备如何旋转 平面始终保持水平 最终效果类似于这个航海罗盘演示 http people opera com richt release demos orie
  • 为什么我不能使用uniform1f而不是uniform4f来设置vec4制服?

    我通过以下方式逐步学习WebGL这本书 https sites google com site webglbook 我尝试通过使用缓冲区来绘制三个点 gl ARRAY BUFFER 而不是循环 正如我之前在本书的其他示例中所做的那样 var
  • 在 webgl 中制作 2d HUD 的推荐方法

    对于 fps 性能很重要的 webgl 游戏 制作 2D HUD 最有效的方法是什么 我可以想到 3 个选项 但我不清楚每个选项的性能成本是多少 以及哪个选项最有效 那么以下 3 个选项之间的相对性能成本是多少 答 使用正交相机以 3D 形
  • 在 Three.js 中针对“子场景”进行光线投射

    因此 我正在使用 Three js 示例中的 webgl interactive cubes html 并且我有一个相对简单的问题 是否可以测试光线与对象的子对象的相交 例如 如果我做类似的事情 for var i 0 i lt 2000
  • 如何从 dxf 文件解析 nurbs 曲面?或者你知道用于解析它的库(对于js,如果存在或任何其他语言)?

    我正在尝试解析 autocad nurbs 曲面并使用 JavaScript 中的 webGL 进行三角测量绘制 我已经在寻找 bjnortier 的 dxf 解析器 它支持大多数实体 如直线 圆弧 3Dface 折线 lwpolyline
  • 深度图三.js

    Three js中有没有办法获取深度图 我感兴趣的是制作类似于 Kinect 为给定场景制作的东西 我遇到了一种不使用颜色和雾来模仿这一点的黑客方法 但这并不理想 因为它会使用两个不同的场景并且会因光照而变化 我认为执行此操作的另一种方法是
  • 将球体 a 旋转到自身的 b 点

    我试图弄清楚如何将球体从 A 点旋转到 B 点 我找到了一些Unity3d代码 Quaternion rot Quaternion FromToRotation pointA pointB sphere transform rotation
  • Hello world WebGL 并行性示例

    围绕 WebGL 似乎有许多用于运行并行处理的抽象 例如 https github com MaiaVictor WebMonkeys https github com MaiaVictor WebMonkeys https github
  • 如何在 Ubuntu 的 headless chrome 中启用 WebGL?

    如何在 Ubuntu 14 的 headless chrome 中启用 webgl 或安装 webgl 我尝试安装 libosmesa6 但这没有帮助 有人可以指出我正确的方向吗 我想使用 webgl 来处理无头 chrome 和 sele
  • 重复凹凸贴图

    我正在尝试使用 Three js r55 将凹凸贴图应用到平面上 以创建一个模糊的感觉表面 这是我的代码 var mapHeight THREE ImageUtils loadTexture images felt png mapHeigh
  • VS CODE 中的 WEBGL 自动完成

    我有一个学校项目 我需要使用 WEBGL 但是在没有自动补全的情况下编写所有代码是相当困难的 我没有找到合适的扩展名 你有想法吗 为了让 Visual Studio 代码能够自动完成 它需要知道变量的类型 例如 如果你有这个 const g
  • 开始使用 Three.js 中的行进立方体

    我是 Three js 的新手 正在寻找教程来帮助我开始了解如何在 Three js 中使用 Marching Cubes 到目前为止 我在 Three js 中看到的一些使用它的项目对我来说有点复杂 所以一个简单的教程会很好 谢谢 像您一

随机推荐

  • 游戏币java_Java实现蓝桥杯分金币

    分金币 圆桌旁坐着n个人 每人有一定数量的金币 金币总数能被n整除 每个人可以给他左右相邻的人一些金币 最终使得每个人的金币数目相等 你的任务是求出被转手的金币数量的最小值 比如 n 4 且4个人的金币数量分别为1 2 5 4时 只需转移4
  • 【Antlr】ANTLR语法规则

    1 概述 ANTLR语法规则的主要工作是定义词法解析规则和语法解析规则 ANTLR约定词法解析规则以大写字母开头 语法解析规则以小写字母开头 下面简单介绍一下ANTLR的规则 首先需要定义Grammar类型及名称 名称必须和文件名一样 有L
  • 每日一题 337. 打家劫舍 III

    难度 中等 整体思路相当于是前两天的方法倒过来 毕竟二叉树最常用的解法就是递归倒推 对于每一颗子树 他必定有一种最大的盗取方法 但是只有它的 root 的盗取情况才会影响到 root 的父节点 即如果收益最大的盗取方法中不盗取 root 那
  • anaconda 2023.3 win10 安装,镜像配置,存储路径更改超详细教程

    现在 ai 很火 做 ai 开发 离不开 python anaconda 是 python 开发的重要工具 这里介绍一下 anaconda 最新版的 2023 3 在 win10 的安装 镜像配置 以及虚拟环境存储路径的更改 1 anaco
  • (48.4)【WAF绕过】SQL注入、文件上传、XSS

    目录 一 SQL注入绕过 二 文件上传绕过 三 xss绕过 一 SQL注入绕过 WAF绕过基础分析和原理 注入绕过WAF方法分析https blog csdn net qq 53079406 article details 12314769
  • 深度学习2015年文章整理(CVPR2015)

    国内外从事计算机视觉和图像处理相关领域的著名学者都以在三大顶级会议 ICCV CVPR和ECCV 上发表论文为荣 其影响力远胜于一般SCI期刊论文 这三大顶级学术会议论文也引领着未来的研究趋势 CVPR是主要的计算机视觉会议 可以把它看作是
  • 【JavaWeb】 练习二

    1 gt 实现登录 如果用户名密码错误 转入到登录页面 提示信息 用户名密码错误 2 gt 如果用户不登录 直接访问展示页面 也需要转入到登录页面 提示信息 请先登录在访问 3 gt 实现退出功能 转到登录页面 4 gt 统计查看展示页面的
  • 必杀VI、VIM编辑器命令

    题记 VI和VIM有非常多的命令 在此分部分展示一下 第一部分 一 移动光标类 一般模式 光标移动 复制粘贴 查找替换 上下移动 h lt 光标向左移动一个字符 j 向上箭头 光标向上移动一个字符 k 向下箭头 光标向下移动一个字符 l 向
  • Go_接口、多态、接口继承、空接口、类型断言

    接口 接口是把所有具有共性的方法定义在一起 是方法集 任何类型实现了接口中所有的方法 就是实现了这个接口 接口可以实现多态 接口传递的是地址值 接口定义及调用 定义格式 tepe 接口名 interface 方法名 参数 返回值 调用格式1
  • (超全面,超基础)Kriging插值推导理论笔记,算法,普通克里金

    最近老师让我再重新推导一下克里金插值的方法如何求出预测结果 于是我又无数次地打开了大神的推导原理过程链接 克里金 Kriging 插值的原理与公式推导 作者 xg1990 但是不可避免地在推导过程中 数学知识基础薄弱的我卡住在一些公式推导的
  • 【有奖调研】HarmonyOS新物种,鸿蒙流量新阵地——元服务邀你来答题!

    聊技术无话不谈 一起来吹吹元服务 畅聊你对元服务的想法 说不定 你就能撬动元服务的爆发增长 元服务 即原子化服务 是华为 轻量化 服务的新物种 可提供全新的服务和交互方式 让应用化繁为简 让服务触手可及 基于鸿蒙万能卡片 元服务可实现应用功
  • 数据同步算法研究

    数据同步算法研究 1 引言 基于LAN或WAN的网络应用之间进行数据传输或者同步非常普遍 比如远程数据镜像 备份 复制 同步 数据下载 上传 共享等等 最为简单的做法自然就是对数据进行完全复制 然而 数据在网络上来回被复制多次后就会存在大量
  • mysql connect 5.6_mysql5,mysql5.6,mysql5.7,mysql8设置autoReconnect=true解决连接数据库超时问m...

    1 问题现象 com mysql jdbc CommunicationsException The last packet successfully received from the server was58129 seconds ago
  • Windows下面Clang的调试方法

    虽然我们使用了Clang工具进行编译 但是我们依旧可以使用Visual Studio进行调试 方法如下 首先 我们需要将编译分为两个步骤 先在CMD使用clang进行obj的生成 也就是编译 clang cl c Z7 o helloeng
  • 8.8数据结构作业

    进制转换 int stack zhuanhuan Stackptr S datatype e if NULL S printf 转换失败 n return 0 datatype x 0 while e gt 0 x e 2 stack pu
  • 【星海出品】Django入门

    Django简述 blog blog init py 空文件 settings py 管理项目的配置信息 urls py 路由 声明请求url的映射关系 wsgi py python程序和web服务器的通信协议 manage py 一个命令
  • Github官网进不去怎么办?Github无法访问怎么办?

    GitHub是一个面向开源及私有软件项目的托管平台 超5千万程序员正在使用 也被戏称为全球最大同性交友网站 是程序员必备网站之一 GitHub能干什么 1 托管代码 历史版本管理 当然不仅仅是代码 任何文件都支持 不少人用GitHub来写博
  • Java while循环学习小结

    while循环先判断循环条件是否满足 再执行循环语句 while循环可能一次都不执行 编写循环时要注意循环条件 并避免死循环 具体内容扫描关注公众号
  • 企业微信内部跳转小程序

    企业微信中跳转小程序 企业微信官方文档 在企业微信内快速跳转到指定的小程序页面之前需要先调用wx agentConfig wx agentConfig corpid 必填 企业微信的corpid 必须与当前登录的企业一致 agentid 必
  • Unity打包WebGL的优化常用操作?

    1 贴图部分优化 如果贴图格式时2048 在不影响画面效果的情况下 改成1024或者5 12 还可以缩小包体 2 压缩和解压缩问题 WebGL打包的时候分三种压缩情况 gzip 比Brotli文件打 但打包快 http和https都支持 B