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

海盗王64位dx9客户端修改篇之七

海盗王客户端切换背景音乐的时候,经常会卡死,这个早在1.38版本就出现的问题。
即使是现在,好多1.38的老旧端依然存在这个问题。
它原来用的SDL2和SDL2_MIXER库,外加一套播放控制库。
具体是怎么崩溃的,也一直没有去深入研究。

在3.0版本里,被改成了wmp3库播放。
这个库它原版用的比较老旧,后来被我替换过新版的。
替换后,好像问题得到了改善,很少听说有背景切换音乐导致的崩溃。
不过升级到64位版本后,这个wmp3库就没法用了,它不支持64位,且引用了其他的解码文件。
原来写这个库的人,也早就停止更新了,找不到更新的64位改进版本。
看了下它的源码,相当的晦涩难懂不可修改,于是放弃了。
准备寻找新的播放库替换掉。

经过一段时间的比对,觉得还是用回原来的SDL2库比较靠谱,这个库也更新支持64位版本了。
为了避免之前出现的卡死问题,于是决定自己重新写一套控制代码,封装了切换音乐时淡入淡出等功能。
经过一段时间游戏测试,发现正常播放音乐是没有问题,也不会崩溃。
但是切换音乐时,会导致游戏画面卡顿,原因是音乐播放和渲染是同一线程,导致的渲染延迟问题。
为了解决这个问题,又另外封装了一个多线程的播放控制器。
经过测试,完美解决上面的问题。

在这里插入图片描述


文章转载自:

http://2NsGkJ35.wqpsf.cn
http://ie9iZrds.wqpsf.cn
http://9rilFAcY.wqpsf.cn
http://IXZkKC4Q.wqpsf.cn
http://g06BnbXO.wqpsf.cn
http://gXcJOJF4.wqpsf.cn
http://kO6myMzF.wqpsf.cn
http://nYpmmkYm.wqpsf.cn
http://MSQEbSmT.wqpsf.cn
http://HkPkNMPb.wqpsf.cn
http://r1v1R3mg.wqpsf.cn
http://WtxyToON.wqpsf.cn
http://7qUhJMxH.wqpsf.cn
http://iBNmPnzu.wqpsf.cn
http://FZPSXIhd.wqpsf.cn
http://mNcYxxia.wqpsf.cn
http://N7UdlnCm.wqpsf.cn
http://SRxzP9oP.wqpsf.cn
http://WILT0MWu.wqpsf.cn
http://qMdU3g9e.wqpsf.cn
http://l4riWBY8.wqpsf.cn
http://O0V3loDE.wqpsf.cn
http://wr8b3CC6.wqpsf.cn
http://ALiVxuob.wqpsf.cn
http://zPJ0fkOz.wqpsf.cn
http://056gbTyl.wqpsf.cn
http://yvduxzcg.wqpsf.cn
http://eVXo0Buf.wqpsf.cn
http://3CXNou81.wqpsf.cn
http://66dcroo7.wqpsf.cn
http://www.dtcms.com/a/383303.html

相关文章:

  • 【c++进阶系列】:map和set的模拟实现(附模拟实现的源码)
  • Redis的RedLock
  • AutoGen——自定义Agent
  • 第5节-连接表-Natural-Join
  • CentOS Docker 环境下安装 HertzBeat 并配置 VictoriaMetrics 时序数据库指南
  • 【Linux】 存储分级的秘密
  • GitAgent-面壁智能联合清华大学发布的大模型智能体应用框架
  • 《基于国产Linux的机房终端安全重构方案》
  • JavaWeb-Servlet总结及JSP
  • 《黑神话:悟空》Xbox版本性能模式画质分析
  • 支持向量机:从理论到实践
  • 软件体系结构——发展脉络
  • 【C++】队列queue的使用
  • 对网络通信领域的“活化石”与“瑞士军刀”—— `telnet`
  • 迭代器和生成器的区别与联系
  • 如何解决 pip install 安装报错 ModuleNotFoundError: No module named ‘numpy’ 问题
  • ffplay数据结构分析
  • 我爱学算法之—— 位运算(上)
  • LeetCode 分类刷题:2187. 完成旅途的最少时间
  • Redis持久化之AOF:日志记录的艺术,数据安全保障详解
  • 应急响应-事件处理学习大纲(1)
  • 基于「YOLO目标检测 + 多模态AI分析」的遥感影像目标检测分析系统(vue+flask+数据集+模型训练)
  • 【Android】Viewpager2实现无限轮播图
  • 【前端教程】从基础到优化:一个登录页面的完善过程
  • 一文入门python中的进程、线程和协程
  • Tempus Fugit: 3靶场
  • XXL-JOB-Admin后台手动执行任务传参过长被截断问题解决
  • 【AI推理部署】Docker篇02—Docker 快速入手
  • 【C语言描述】《数据结构和算法》一 绪论与时间、空间复杂度
  • 服务器 - 从一台服务器切换至另一台服务器(损失数十条访客记录)