- 博客(23)
- 收藏
- 关注
原创 编译器屏障是什么
多线程编程可以提高程序的并发性和可伸缩性,从而提高程序的性能和效率。同时,编译器屏障也可以用于优化程序的性能,例如在循环展开、函数内联等优化中使用编译器屏障来保证程序的正确性。例如,在使用编译器屏障时,需要注意指令重排和优化对程序的影响,需要根据具体的场景和需求来选择合适的编译器屏障。此外,需要注意编译器屏障的跨平台兼容性,不同的编译器对编译器屏障的支持程度不同,需要进行适当的调整和兼容性处理。总之,编译器屏障是一种非常有用的编译器优化技术,可以提高多线程程序的运行效率,同时保证了程序的正确性和可靠性。
2023-03-14 23:57:20 402
原创 内存屏障是什么
内存屏障的使用可以提高程序的性能和可靠性。在多线程编程中,开发者需要根据所使用的CPU体系结构,选择合适的内存屏障指令来保证内存操作的正确性和可靠性。同时,开发者还需要深入理解内存屏障的原理和使用方法,以充分利用它的优势,提高程序的性能和可靠性。内存屏障可以保证内存操作的有序性和可见性,避免因为指令重排序、缓存一致性等问题导致的线程安全性问题,以此提高程序的正确性和稳定性。在实际开发中,开发者需要根据实际情况,选择合适的同步机制和技术,以保证多线程程序的正确性和稳定性,同时提高程序的性能和可靠性。
2023-03-14 23:51:03 547
原创 多处理器架构
在并行化的过程中,需要考虑如何将应用程序分解成子任务,如何将子任务分配到不同的处理器上,并且如何同步和协调不同处理器之间的操作。ASMP架构中,处理器被分配给不同的任务,每个处理器具有自己的本地内存,并且处理器之间的通信需要通过消息传递来完成。但是,与SMP架构相比,ASMP架构的设计和实现更加复杂,需要更高的技术水平和成本。但是,对于特定的应用程序和环境,选择合适的多处理器架构需要仔细的权衡和考虑。随着计算机硬件的不断发展和技术的进步,多处理器架构可以提供更高的性能和更广泛的应用场景。
2023-03-13 00:27:50 957
原创 什么是硬件线程
在多线程应用程序中,线程的数量通常取决于计算机处理器的硬件线程数。例如,当处理器在执行一个线程时,另一个线程可以在等待其它资源的同时执行。硬件线程指的是计算机处理器中的物理线程,也称为硬件线程或物理线程。硬件线程可以分为单线程和多线程两种。了解硬件线程的基本原理和使用多线程的注意事项,可以帮助我们更好地应用多线程技术,提高计算机的处理能力和效率。总之,硬件线程是计算机处理器中的基本单元,可以实现并行计算,提高计算机的处理能力。现代处理器通常都具有多个硬件线程,可以同时执行多个指令,提高计算机的处理能力。
2023-03-13 00:24:39 977
原创 让 Notion AI 介绍 Notion AI
例如,我们可以使用 Notion AI 的搜索功能来查找特定的文件、页面或笔记,甚至可以使用自然语言搜索来查找相关的信息。Notion AI 结合了自然语言处理和机器学习技术,可以自动识别和分类文本、图像和音频等多种形式的信息,帮助我们更快地找到所需的信息。同时,Notion AI 还支持权限控制,我们可以根据需要设置不同的编辑权限,保护重要信息的安全性。总之,Notion AI 是一种功能强大、易于使用的人工智能技术,它可以帮助我们更好地管理和利用信息,提高我们的工作效率和创造力。
2023-03-12 00:44:13 4564 1
原创 MySQL索引介绍
MySQL的索引是一种特殊的数据结构,它可以快速定位到需要查找的数据,提高查询效率。在这篇文章中,我们将介绍MySQL索引的类别、管理和使用方法,以及索引实现的原理。
2023-03-12 00:26:36 470
原创 UI系统
UI系统这是3D游戏编程的第九次作业文章目录UI系统说明文档作业内容血条(Health Bar)的预制设计初始化使用IMGUI实现使用UGUI实现预制的使用方法说明文档本次实验采用IMGUI和UGUI两种方式制作了血条预制,并对比了两者的优缺点。作业内容血条(Health Bar)的预制设计具体要求如下:分别使用 IMGUI 和 UGUI 实现使用 UGUI,血条是游戏对象的一个子元素,任何时候需要面对主摄像机分析两种实现的优缺点给出预制的使用方法初始化导入资源包St
2020-12-10 22:47:58 477
原创 粒子系统与流动效果
粒子系统与流动效果这是3D游戏编程的第八次作业文章目录粒子系统与流动效果说明文档作业内容初始化制作粒子海洋制作粒子光环结合说明文档本次实验制作的粒子效果有两个,分别是粒子光环和粒子海洋闪光点:附有详细的制作过程与难点分析作业内容初始化设置背景色为黑色:依次选择Window->Rendering->Lighting;在弹出窗口中选择Enviroment, 并修改其中的Skybox Material和Sun Source为None: 此时场景色已经为黑色,因为
2020-11-19 16:13:25 399
原创 模型与动画
模型与动画这是3D游戏编程的第七次作业文章目录模型与动画说明文档作业内容1、智能巡逻兵效果展示设计与实现状态机制作说明文档本次实验完成了所有基本要求,尽量将步骤展示出。闪光点:附有详细类图以及详细的代码注释作业内容1、智能巡逻兵游戏设计要求:创建一个地图和若干巡逻兵(使用动画);每个巡逻兵走一个3~5个边的凸多边型,位置数据是相对地址。即每次确定下一个目标位置,用自己当前位置为原点计算;巡逻兵碰撞到障碍物,则会自动选下一个点为目标;巡逻兵在设定范围内感知到玩家,会自动追
2020-11-17 18:06:28 297 2
原创 物理系统与碰撞
物理系统与碰撞这是3D游戏编程的第六次作业文章目录物理系统与碰撞说明文档作业内容改进飞碟(Hit UFO)游戏改进后效果展示改进版设计改动代码细节传送门说明文档本次实验完成了所有基本要求,尽量将步骤展示出。闪光点:附有详细类图以及详细的代码注释作业内容改进飞碟(Hit UFO)游戏游戏内容要求:按 adapter模式 设计图修改飞碟游戏使它同时支持物理运动与运动学(变换)运动改进后效果展示这里只展示增加了物理运动后的效果,游戏正常运行的效果还请移步到与游戏世界
2020-11-08 00:09:00 110
原创 与游戏世界交互
与游戏世界交互这是3D游戏编程的第五次作业文章目录与游戏世界交互说明文档作业内容1、编写一个简单的鼠标打飞碟(`Hit UFO`)游戏效果展示需求分析设计与实现类图解释文件结构详细细节说明文档本次实验完成了所有基本要求,尽量将步骤展示出。闪光点:附有详细类图以及详细的代码注释作业内容1、编写一个简单的鼠标打飞碟(Hit UFO)游戏游戏内容要求:游戏有 n 个 round,每个 round 都包括10 次 trial;每个 trial 的飞碟的色彩、大小、发射位置、速度、角
2020-10-26 22:13:04 168
原创 游戏对象与图形基础
游戏对象与图形基础这是有游戏编程的第四次作业文章目录游戏对象与图形基础说明文档作业内容`1.` 基本操作演练【建议做】`2.` 编程实践`3.` 材料与渲染联系【可选】说明文档sdasdasdasdasdasadasdasdsdasdasdasdasdasdasdas作业内容1. 基本操作演练【建议做】下载 Fantasy Skybox FREE, 构建自己的游戏场景写一个简单的总结,总结游戏对象的使用2. 编程实践牧师与魔鬼 动作分离版【2019开始的新要
2020-10-12 10:47:23 320 1
原创 WSL入坑与踩坑
WSL入坑与踩坑这篇文章,将会娓娓道来我使用WSL的经历,包括如何安装以及早期玩家踩的一些坑。这是一个很好的工具,与vscode简直是绝配。文章目录WSL入坑与踩坑`WSL`是什么快速入门使用踩坑总结WSL是什么适用于 Linux 的 Windows 子系统可让开发人员按原样运行 GNU/Linux 环境 - 包括大多数命令行工具、实用工具和应用程序 - 且不会产生传统虚拟机或双启动设置开销。 它是直接运行在win上的一个程序,对于普通Linux使用者来说,它已经能够满足大部分需求,比如
2020-10-08 20:16:05 3646 5
原创 空间与运动
空间与运动这是3D游戏编程的第三次作业。文章目录空间与运动说明文档作业内容`1.` 简答并用程序验证【建议做】`2.` 编程实践`3.` 思考题【选做】说明文档本次作业我实现了:使得hhh闪光点:太阳系中的行星轨迹利用太阳系中的太阳使用粒子系统自发光、效果震感!作业内容1. 简答并用程序验证【建议做】[Q] 游戏对象运动的本质是什么?游戏运动本质就是使用矩阵变换(平移、旋转、缩放)改变游戏对象的空间属性。具体而言,空间属性由Transforn来显现,而随着游戏
2020-10-04 17:24:27 272
原创 TDD实践:Go语言快排算法实现
TDD实践:Go语言快排算法实现文章目录`TDD`实践:`Go`语言快排算法实现包结构介绍先写测试尝试运行测试先使用最少的代码来让失败的测试先跑起来把代码补充完整,使得它能够通过测试重构基准测试包结构介绍 在学习Learn Go WIth Tests的过程中,我在$GOPATH的src下创建了项目learn-go-with-tests,本小节实现快排算法,所以关注点在下图的红框中。 需要注意的是,即便我们按照TDD流程开发算法,我们也要注意qsort.go文件内至少声明包package qu
2020-09-27 16:49:56 241
原创 离散引擎仿真基础
1. 简答题Q&A[Q] 解释 游戏对象(GameObjects)和 资源(Assets)的区别与联系。[A][Q] 下载几个游戏案例,分别总结资源、对象组织的结构(指 资源的目录组织结构 与 游戏对象树的层次结构)[Q] 编写一个代码,使用 debug 语句来验证 MonoBehaviour 基本行为或事件触发的条件基本行为包括 Awake() Start() Update() FixedUpdate() LateUpdate()常用事件包括 OnGUI() OnDisa
2020-09-22 20:19:41 317
原创 《雷曼大冒险》之游戏的分析与设计
阅读Tracy Fullerton, GAME DESIGN WORKSHOP第2-4章(游戏结构、基本元素、戏剧元素)。选择一款你喜欢的中等规模游戏如“植物大战僵尸体”为案例,根据教材中一个或一组练习要求,回答该游戏的分析与设计问题。PS:本博客结合参考书的三部分内容进行了综合的分析,不拘束于问答形式。雷曼大冒险(Rayman Adventures)之游戏的分析与设计游戏介绍(基本结构)《雷曼大冒险》是由ubisoft(育碧)公司在2015年发行的游戏。其主要故事背景是:魔法森林正陷入困境—.
2020-09-19 11:46:30 1012
原创 Ubuntu14.04下安装Go环境
Ubuntu14.04下安装Go环境环境操作系统:Ubuntu 14.04 64位版本Go版本:Go 1.15安装步骤【参考官网】下载Go安装包:Go 1.15(下载链接)将下载到的安装包解压至/usr/local路径下,在安装包所在目录下执行如下命令(需要root权限):tar -C /usr/local -xzf go1.15.1.linux-amd64.tar.gz,执行成功后,我们将会在/usr/local下看到解压得到的go目录:配置PATH环境变量:打开$HOME/.pro
2020-09-02 21:42:54 332
原创 马走棋盘之最短路径步数——C
描述问题输入测试例子数T,每个例子输入棋盘大小m行n列, (1<=m,n<=500),再输入a,b,c,d表示(a,b)–>(c,d),(1<=a,c<=m)且(1<=b,d<=n)且两点不是同一点,若马走的到,输出按照马的走法(日字走法)的 最短路径的步数,否则输出0。分析问题最短路径,让人联
2018-12-22 02:17:29 6446 1
原创 探亲问题(无向图任意两点是否可连通)——C语言
下提供队列实现的代码:#include <stdio.h>#include <stdlib.h>int Check_road(int **road,int *visit,int *visited,int from,int to,int n);void reset_to_zero(int **road,int n);void input(int **road,i...
2018-12-20 14:00:51 3995
原创 多柱汉诺塔(Matrix上选做题)——递归与动态规划
#include&amp;lt;stdio.h&amp;gt;#include&amp;lt;math.h&amp;gt;long long min_steps(int m,int n);long long min(long long a,long long b);int main() { int m,n; scanf(&quot;%d %d&quot;,&amp;amp;m,
2018-12-13 16:45:58 3256 1
原创 贪吃蛇——C语言(附源码)
文件在github下gh-pages分支考虑到实验要求为10*10地图,下两程序不对地图做修改。会动的蛇snake_move贪吃蛇snake_eat游戏设计及算法分解问题:首先贴上游戏玩法以及表示:1、玩法贪吃蛇游戏是一款经典的益智游戏,有PC和手机等多平台版本。既简单又耐玩。该游戏通过控制蛇头方向吃蛋,从而使得蛇变得越来越长。百度百科2、游戏表示给定一个10 * 10的字符矩...
2018-12-09 22:07:08 4328 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人