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

图形渲染性能优化

variable rate shading

conditional render

设置可见性等, 不需要重新build command buffer

indirect draw

	glMultiDraw* - 直接支持多次绘制glMultiDrawIndirect - 间接多次绘制

multithreading

多线程录制

实例化渲染

lod

texture array

小对象剔除

投影到屏幕上的对象太小就不绘制

texture gather

一次能采样4个像素, 减少采样函数调用

texture shadow 版本

由于返回的是浮点数,能减少采样的调用

在GLSL中,使用 #pragma unroll 指令来建议编译器展开循环

	循环展开不是性能优化的万能解需要根据具体场景和硬件特性评估建议进行实际性能测试考虑代码可维护性和可读性现代GPU编译器已经相当智能,可能自动进行优化

texture altas

使用建议:适用场景:大量小纹理(如UI元素、图标)需要批量渲染的2D游戏粒子系统不适用场景:大型独立纹理需要频繁更新的纹理分辨率差异很大的纹理
最佳实践:合理分组相关纹理预留适当padding考虑mipmap需求监控内存和性能指标
总结:
Texture Atlas能带来显著的性能优势,主要体现在:减少状态切换和draw calls
提高内存访问效率
更好的缓存利用
减少内存碎片
但需要合理使用并注意相关限制和实现细节。

合并draw call

内存池和cache 命中率

纹理压缩

/ 使用压缩纹理格式  
VkFormat compressedFormat = VK_FORMAT_BC7_SRGB_BLOCK;  
createTexture(compressedFormat, width, height);  

多线程的视椎体剔除

simd

http://www.lryc.cn/news/493569.html

相关文章:

  • elasticsearch的索引模版使用方法
  • 论文学习——进化动态约束多目标优化:测试集和算法
  • C++中的volatile关键字
  • linux桌面qt应用程序UI自动化实现之dogtail
  • Hello World C#
  • SAP开发语言ABAP开发入门
  • 应急响应靶机——easy溯源
  • 【前端】vscode报错: 无法加载文件 D:\nodejs\node_global\yarn.ps1,因为在此系统上禁止运行脚本。
  • Spring Web MVC(详解中)
  • Flutter:encrypt插件 AES加密处理
  • Python bytes类型及用法
  • 阅读《基于蒙特卡洛法的破片打击无人机易损性分析》_笔记
  • 【vim】vim怎么把某一列内容复制到另一列
  • IP划分(笔记)
  • 【ChatGPT大模型开发调用】如何获得 OpenAl API Key?
  • 人证合一开启安全认证新时代、C#人证合一接口集成、人脸识别
  • EBS 中 Oracle Payables (AP) 模块的相关集成
  • Flask项目入门—会话技术Cookie和Session
  • 通达OA down存在信息泄露漏洞
  • Python中的简单爬虫
  • Scala入门基础(20)数据集复习拓展
  • leetcode 二叉树的最大深度
  • elasticsearch集群部署及加密通讯
  • ML 系列:第 32节 — 机器学习中的统计简介
  • CatVton升级版?CatVton-Flux:AI虚拟试衣方案新选择。
  • JavaEE---计算机是如何工作的?
  • 十、Spring Boot集成Spring Security之HTTP请求授权
  • C#基础控制台程序
  • 【网络安全】CSRF
  • 网络原理(一)—— http