说说帧率
sdl吧
全部回复
仅看楼主
level 13
小牛_牛sky
楼主
谈一谈
2017年02月20日 13点02分
1
level 13
小牛_牛sky
楼主
不知道大家知不知道,在创建Renderer的时候是可以使用SDL_RENDERER_PRESENTVSYNC是可以使每次循环保证在60左右,另外就是自己确定,我个人推荐这一种,因为对于帧率就可以更灵活比如可以60,40,或者更高,缺点也是有的,代码量增大,并且如果处理不当的话也会高占用cpu,
2017年02月20日 14点02分
2
GMGGA
加了这个选项之后渲染速度好像会下降,有点不敢用
2017年02月20日 17点02分
小牛_牛sky
@GMGGA
我也不太敢用。不过这个也要看情况而定的
2017年02月20日 23点02分
level 10
lxfly2000
我从第一个SDL程序开始就一直加这个选项、但不是能保证是60而是在60以下
2017年02月21日 01点02分
3
小牛_牛sky
是吗,我的一般60以上。。。
2017年02月21日 13点02分
level 7
silentbluedrop
后面那个不是垂直同步吗?!
2017年02月21日 04点02分
4
小牛_牛sky
不是,限帧
2017年02月21日 13点02分
silentbluedrop
@小牛_牛sky
vsync(垂直同步)和这个有什么关系吗?
2017年02月21日 13点02分
小牛_牛sky
@silentbluedrop
不知道
2017年02月21日 13点02分
小牛_牛sky
@小牛_牛sky
什么是垂直同步
2017年02月21日 13点02分
level 13
小牛_牛sky
楼主
有没有比较好的限制帧率的方法
@lxfly2000
2017年02月21日 14点02分
5
小牛_牛sky
总感觉我写的不太好
2017年02月21日 14点02分
lxfly2000
加上那个选项就行
2017年02月21日 14点02分
小牛_牛sky
回复 lxfly2000 :确实,我用了自己的限制帧数,帧数会乱跳,用SDL给定的就不会,,,是我走弯路了
2017年02月21日 14点02分
level 9
吞薯条
这个选项就是垂直同步吧。
就是你把后台缓冲切换至前台时,切换函数将会堵塞,直到显示器刷新。如果是单线程,那么整个线程都会被卡住。如果某一帧处理逻辑的时候超过了刷新点,那么切换函数将会等待下一个刷星点,也就是显示器刷两次,你的窗口刷一次。
事实上如果每帧都要刷新,那么频率与显示器的刷新频率保持一致是性价比最高的方式。
2017年02月23日 14点02分
6
小牛_牛sky
哦!学习了
2017年02月23日 23点02分
小牛_牛sky
那请问在游戏中要不要开这个选项呢?
2017年02月23日 23点02分
吞薯条
@小牛_牛sky
看需求。不过现代引擎都是默认开的。
2017年02月24日 01点02分
小牛_牛sky
@吞薯条
哦哦哦!谢谢回答
2017年02月24日 07点02分
level 13
小牛_牛sky
楼主
SDL_RENDERERVSYNC
拆开看
SDL_RENDERER V SYNC
翻译过来就是 渲染 垂直 同步
也就是垂直同步,僵硬
2017年03月06日 00点03分
7
小牛_牛sky
vertical
2017年03月06日 00点03分
level 9
Fa木澜♬
求问一下不限制帧数怎么调
2017年04月30日 15点04分
8
小牛_牛sky
不限制?你所说的不限制是什么意思
2017年04月30日 23点04分
Fa木澜♬
@小牛_牛sky
就是帧数没有上限,也就是不锁帧
2017年05月01日 04点05分
小牛_牛sky
回复 FA_木欄 :去掉SDL_PRESENTVSYNC就行了啊
2017年05月01日 13点05分
Fa木澜♬
@小牛_牛sky
谢谢
2017年05月01日 14点05分
level 1
笑红尘🙈
楼主,请问我写了一个帧动画,但是随着程序运行,cpu占用率会越来越高,最后会卡死,请问要如何避免这种情况
2017年05月14日 17点05分
9
小牛_牛sky
应该是你每次都IMG_LoadTexture()的缘故吧?
2017年05月15日 01点05分
1