fps up up!!!
在Pentium 3 933 + Geforce2 MX 400的机器上,将3fps提升到约15fps
问题主要存在于:
1. 过大或是不符尺寸的贴图,占用太多的纹理带宽,导致GPU因显存不足而频繁交换
a 尽量缩小贴图
b 使用dds压缩
c 使用mipmap
2. Dynamic Vertex Buffer在Lock和Unlock中花费太多的时间,在lock时GPU会一直idle
a 不要在lock后才进行vertex interpolate操作
b 创建一个临时的memory buffer,将计算完毕后的vertex再memcpy到VB
3. 能用static vertex buffer就不要使用dynamic vertex buffer
a static vertex buffer可能会被driver放在video memory中
b dynamic vertex buffer需要lock/unlock,浪费太多时间
4. 尽量!尽量!减少DrawPrimitive的调用次数!增加batch中的triangles的个数!
a 太多的DP调用,会让CPU疲于奔命与driver通讯,而GPU却一直在idle
b 太少的triangles满足不了GPU的欲望
c CPU bound
25k batches/s @ 100% 1 GHz CPU
– Target: 30fps; 2GHz CPU; 20% (0.2) Draw/SetState:
– X = 333 batches/frame
5. 在排序渲染对象时使用std::sort而不是qsort
a qsort使用的是function pointer,多了一次指针寻址,而且compiler无法将compare function inline
b std::sort使用的是function object,可以保存状态,有机会inline,减少了开销
一旦CPU Bound,再如何优化,所能够提升的空间是非常有限的,因为CPU的Hz决定了“DP调用次数/帧”,所以最重要的事情是:more triangles/DP,less DP/frame!
转载于:https://www.cnblogs.com/oiramario/archive/2005/11/25/284224.html
fps up up!!!相关推荐
- 关于csgo的观看录像fps低_中国CSGO神秘天才欲初登赛场!却因这件事被无数人所质疑!!...
不得不说,在近几年随着中国电子竞技的蓬勃发展,我们在电竞的总体实力上也是越来越强了.比如去年英雄联盟中国包揽了所有大型比赛的冠军,Dota2在TI上的三冠五亚等等,无疑不证明了中国电竞渐渐成为了一股不 ...
- 使用Python,OpenCV线程化方式提高视频FPS(每秒帧数)
使用Python,OpenCV处理视频流时,获得更高FPS(Frams Per Second)的"秘密"是将I / O(即从摄像机传感器读取帧)交给线程去处理: 读取帧 I/O是阻 ...
- Unity三维游戏开发C#编程大师班 Masterclass In C# Programing Unity 3D Game Development FPS
本课程采用现代游戏开发(Unity 2021)的最新内容和最新技术 学习任何东西的最好方法是以一种真正有趣的方式去做,这就是这门课程的来源.如果你想了解你看到的这些不可思议的游戏是如何制作的,没有比这 ...
- C#和Unity游戏开发者大师班2021 (2D,3D和FPS)
流派:电子学习| MP4 |视频:h264,1280×720 |音频:AAC,44.1 KHz 语言:英语+中英文字幕(根据原英文字幕机译更准确) |大小:11.1 GB |时长:22h 31m 含项 ...
- Blender从头开始装配和动画制作低多边形风格的FPS手臂
Rigging and Animating Low Poly FPS Arms in Blender MP4 |视频:h264,1280×720 |音频:AAC,44.1 KHz,2 Ch 语言:英语 ...
- Transformer 又立功了!又快(420 fps)又好的车道线检测算法
点击上方↑↑↑"视学算法"关注我 来源:公众号 我爱计算机视觉 授权 分享一篇新出的论文 End-to-end Lane Shape Prediction with Transfo ...
- CPU上跑到 100 fps 的高精度PyTorch人脸特征点检测库
视学算法分享 作者 | cunjian 编译 | CV君 转自 | 我爱计算机视觉 [导读]向大家推荐一款基于PyTorch实现的快速高精度人脸特征点检测库,其在CPU上的运行速度可达100 ...
- 人脸对齐--Face Alignment at 3000 FPS via Regressing Local Binary Features
Face Alignment at 3000 FPS via Regressing Local Binary Features CVPR2014 https://github.com/yulequan ...
- c语言游戏call调用,C语言-植物大战僵尸-刷僵尸call;fps游戏CS-方框透视(矩阵+传统)...
C语言-植物大战僵尸-刷僵尸call:fps游戏CS-方框透视(矩阵+传统)前言:大家好,我是向上先生,嘿嘿~最近在学习逆向.反汇编等等,首先我在非常感谢52pojie这个平台,差不多很多学习资源都是 ...
- sift线特征提取代码_Transformer 又立功了!又快(420 fps)又好的车道线检测算法
分享一篇新出的论文 End-to-end Lane Shape Prediction with Transformers,该文为车道线检测问题建立参数模型,使用Transformer捕获道路中细长车道 ...
最新文章
- .net中语音识别和语音合成(二)语音合成提高篇
- linux awk 获取最后一列 获取倒数第二列
- python自动化办公脚本下载-基于python实现自动化办公学习笔记二
- 修改git commit默认触发的编辑器
- textarea标签内的文字无缘故居中解决原因
- python rabitmq_python使用rabbitmq实例二,工作队列
- 特征筛选4——斯皮尔曼相关系数筛选特征(单变量筛选)
- 错误记录(二)java.lang.NoSuchMethodError: antlr.collections.AST.getLine()I错误时的原因及解决办法
- Bailian2994 拼装模型【哈夫曼树】
- 防毒墙APT防护抗DDOS攻击
- 计算机代码坑人小程序bat,运用bat写的整人小程序有哪些?
- python判断素数的函数_python判断是否为素数
- Anomaly Detection with partially Observed Anomalies论文笔记
- php+剧影评系统 毕业设计-附源码140859
- matlab 判断矩阵是否正定
- php微信里面换行符,如何在字符串中间加换行符js微信小程序实现人脸识别
- 解决Win10更新后无法开启移动热点的问题
- Vue常用经典开源项目汇总参考-海量
- python爬虫学习笔记分析Ajax爬取果壳网文章
- 有苦有乐的算法 --- 一个无序数组,如果从小到大排好序,任何一个元素任何一个元素移动索引长度不超过k,实现排序
热门文章
- bzoj 3450: Tyvj1952 Easy(概率DP)
- matlab imresize
- 改变灰度图像直方图的均值和标准差
- [Python] 关键字 assert
- python数据存储系列教程——python中mongodb数据库操作:连接、增删查改、多级路径
- 汇编语言上机考试三星题——根据键盘输入调用子程序显示子程序的入口地址
- android 启动一个应用,android 在一个应用中启动另一个应用
- [转载][HASS.IO] 【HASSOS安装】成功安装HASSOS 1.9(避开了大部分坑版)
- linux下搭建python机器学习环境
- Mybatis 单独项目