小编use*_*290的帖子

如何创建键盘快捷键以在 Windows 中打开 Git Bash?

我想通过按 ctrl + alt + T 创建一个打开 Git bash 的快捷方式。然后,它启动 git bash。

git-bash

4
推荐指数
1
解决办法
2290
查看次数

打包和压缩资源数据

我尝试使用 zlib 打包和压缩游戏客户端资源数据。如果我压缩数据,它会随着文件大小的减小而减少磁盘 I/O,但在解压缩时会增加 CPU 使用率。

问题1

如果用于渲染的资源被压缩,处理(渲染和解压缩)会使用 CPU,所以我认为它似乎很慢,对吗?

如果没有压缩,则磁盘 I/O 没有改变,并且不会出现额外的 CPU 使用率。如果您只读取文件的一部分,可以使用 CreateFileMapping()、MapViewOfFile() 函数减少磁盘 I/O。

问题2

在资源的情况下,例如未压缩的图像(例如tga,而不是png),当我们必须读取整个文件(例如图像文件)时,我们无法利用CreateFileMapping(),MapViewOfFile(),所以我认为压缩资源更好,你怎么看?

问题3

打包时对资源数据进行压缩是怎么想的?

c++ zlib game-engine

0
推荐指数
1
解决办法
1224
查看次数

奇怪的结果是c中的按位程序

写下面的代码给我奇怪的答案

#include <stdio.h>

int main (void)
{
    char a=0x03 ,b=0x01 ,x;

    printf("Enter two numbers : \n");
    scanf("%c %c",&a,&b);
    printf("0x%x 0x%x\n",a,b);
    printf("0x%x || 0x%x = 0x%x \n0x%x ^ 0x%x = 0x%x\n0x%x << 0x%x = 0x%x\n0x%x >> 0x%x = 0x%x\n",a,b,a||b,a,b,a^b,a,b,a<<b,a,b,a>>b);
    scanf("%i",x);

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

这给了我以下结果

Enter two numbers :
2 3
32 33 
0x32 || 0x33 = 0x1
0x32 ^ 0x33 = 0x1
0x32 << 0x33 = 0x1900000
0x32 >> 0x33 = 0x0
Run Code Online (Sandbox Code Playgroud)

我不知道为什么它确实将错误的值带入a和b虽然我已经尝试使用int并且它运行良好?!

c bit-manipulation

-3
推荐指数
1
解决办法
117
查看次数

标签 统计

bit-manipulation ×1

c ×1

c++ ×1

game-engine ×1

git-bash ×1

zlib ×1