zoukankan      html  css  js  c++  java
  • DirectX Sample-ConfigSystem中采用配置文件进行游戏设置

    这个例子是一个撞球系统,碰撞部分也值得学习,不过最重要的还是其配置部分,配置文件为config.txt,其中包括:

    Requirements:所需配置

    propertyset:预定义的设置,通过名字引用,例子文件中没有

    AudioVendor:音频设置

    DisplayVendor:视频设置,也是这个例子中最主要的部分,根据不同的显卡制造商(VendorId),不同的设备号(DeviceId),然后根据驱动版本号、操作系统版本等信息做一些设置。

    上面提到的设置通过调用游戏中的相应接口设置,保存在CONFIGTABLE ConfigTable中

    比如

    例1

    3DFX
    DisplayVendor = 0x121a  "3dfx"
    0x8626 = "Rush (Macronix)"
        UnsupportedCard
        break

    其含义为

    3DFX制作的显卡,如果设备号为0x8626,则不支持当前游戏

    例2

    DisplayVendor = 0x8086  "Intel"
    Unknown = "Unknown"
        UMA

    这个是我电脑上所用显卡,intel集成显卡,根据系统内存计算显存。


    这个例子在超过4G内存电脑上的问题:

    例子在我的电脑上跑有如下提示:

    This system does not meet the following minimum requirements:

    Minimum memory of 128 megabytes

    Minimum video memory of 64 megabytes

    其原因是我电脑为win7(64位),内存为8G,内存计算有问题,如下修改即可

    INT64 SysMemory;//DWORD SysMemory;

    INT64 tmpMemSize = (INT64)ms.dwTotalPhys+(16*1024*1024-1);
    SysMemory = ((tmpMemSize & ~(16*1024*1024-1) ) >> 20);

    //SysMemory = (((ms.dwTotalPhys+(16*1024*1024-1)) & ~(16*1024*1024-1) ) >> 20);


  • 相关阅读:
    redux dispatch、action、reduce 执行流程
    react中使用react-redux
    npm 全局安装默认地址
    react 组件外js文件路由跳转
    withRouter的作用和适用场景
    react 自定义高阶组件,实现路由拦截,子路由渲染
    移动端原生js使用touch事件监听滑动方向
    Vue.js中this.$nextTick()的使用与理解
    域名等级划分介绍
    nodejs 实现一个账号只能一台设备登录
  • 原文地址:https://www.cnblogs.com/dyllove98/p/3181615.html
Copyright © 2011-2022 走看看