- 博客(240)
- 资源 (4)
- 收藏
- 关注
转载 Unity引擎在 VR/AR项目优化技巧与工具
Unity引擎在 VR/AR项目优化技巧与工具本文是沉浸式媒体开发公司Parkerhill Reality Labs的白皮书《Best Practices for Multi-Device VR/AR Development》的简略版本,将分享5个Unity VR/AR项目多设备优化技巧和工具。项目难题Unity中选择目标平台的功能往往不够精细,Unity正努力通过为XR播...
2019-04-18 16:56:54
1248
转载 Unity Jobsystem 详解实体组件系统ECS
Unity Jobsystem 详解实体组件系统ECS简介随着ECS的加入,Unity基本上改变了软件开发方面的大部分方法。ECS的加入预示着OOP方法的结束。随着实体组件系统ECS的到来,我们在Unity开发中曾使用的大量实践方法都必须进行改变以适应ECS,也许不少人需要些时间适应ECS的使用,但是ECS会对游戏性能的提升产生很大作用。面向对象编程是一个很好的...
2019-04-14 23:15:45
1738
1
原创 现代OpenGL渲染管线介绍
查看现代OpenGL渲染管线介绍此文对最新的OpenGL做一个简单的介绍,如有理解错误,敬请指正。英文原文:https://glumpy.github.io/modern-gl.htmlopengl已经发展了很多年,自从2003年后提出dynamic pipeline(OpenGL 2.0)后发生了重大变化,例如 shader的使用允许直接对GPU操作在这个版本...
2019-04-10 21:49:46
860
原创 Unity协程Coroutine使用总结和一些坑
这里查看Unity协程Coroutine使用总结和一些坑MonoBehavior关于协程提供了下面几个接口:可以使用函数或者函数名字符串来启动一个协程,同时可以用函数,函数名字符串,和Coroutine对象来终止一个协程。使用上有这几种问题:1,使用Coroutine StartCoroutine(IEnumerator routine)来启动一些协程,能否...
2019-04-09 18:32:13
7764
1
原创 浅析windows下字符集和文件编码存储/utf8/gbk
查看更多 windows下字符集和文件编码存储/utf8/gbk1,字符集这里主要讲两种字符集,DBCS和UCSDBCS即双字节编码字符集,最初的计算机只有ASCII码,发展至今,不能表示中文怎么办,于是中国人制定了GBK2312,以及后面陆续扩展并向下兼容的GBK,GB18030.Unicode学名是“Universal Multiple-Octet Coded Chasract...
2019-04-09 15:54:38
1452
转载 在flutter中如何使用图片/网络图片和ICON
原文查看图片及ICON图片Flutter中,我们可以通过Image来加载并显示图片,Image的数据源可以是asset、文件、内存以及网络。ImageProviderImageProvider是一个抽象类,主要定义了图片数据获取的接口load(),从不同的数据源获取图片需要实现不同的ImageProvider,如AssetImage是实现了从Asset中加载图片的Image...
2019-04-08 23:33:22
4506
转载 Unity UI性能优化技巧
Unity UI性能优化技巧本文将介绍一些提升Unity UI性能的技巧。更多优化技巧,可以观看下方的视频,内容是Unity工程师Ian Dundore在Unite Europe 2017的演讲《使用Unity性能提升技巧》。划分画布问题:UI Canvas上有一个或多个元素变化时,会污染整个画布。画布(Canvas)是Unity UI的基本组件。它会生...
2019-04-01 22:12:21
1045
转载 unity性能优化方案
unity性能优化方案本文将介绍一些提升Unity UI性能的技巧。更多优化技巧,可以观看下方的视频,内容是Unity工程师Ian Dundore在Unite Europe 2017的演讲《使用Unity性能提升技巧》。划分画布问题:UI Canvas上有一个或多个元素变化时,会污染整个画布。画布(Canvas)是Unity UI的基本组件。它会生成网格来呈现放置在...
2019-04-01 22:10:27
830
转载 Flutter Dart线程模型及异常捕获F
查看原文Dart线程模型及异常捕获Dart单线程模型在Java和OC中,如果程序发生异常且没有被捕获,那么程序将会终止,但在Dart或JavaScript中则不会,究其原因,这和它们的运行机制有关系,Java和OC都是多线程模型的编程语言,任意一个线程触发异常且没被捕获时,整个进程就退出了。但Dart和JavaScript不同,它们都是单线程模型,运行机制很相似(但有区别),下面我们通过D...
2019-04-01 21:43:16
840
原创 flutter中的路由表和路由管理
查看更多flutter资料MaterialPageRouteMaterialPageRoute继承自PageRoute类,PageRoute类是一个抽象类,表示占有整个屏幕空间的一个模态路由页面,它还定义了路由构建及切换时过渡动画的相关接口及属性。MaterialPageRoute是Material组件库的一个Widget,它可以针对不同平台,实现与平台页面切换动画风格一致的路由切换动画...
2019-03-30 18:44:42
2892
转载 Flutter如何插件开发、自定义字体、国际化
一、前言 今天学习插件开发, Flutter 使用一个灵活的系统,允许调用特定平台(iOS/Android)的API,无论在 Android 上的 Java 或者 Kotlin 代码中,还是 iOS 上的 Object-C 或者 Swift 代码中均可使用。 Flutter 平台特定的 API 支持不依赖于代码生成,而是依...一、前言今天学习插件开发,Flutter使用一个灵活的系...
2019-03-25 10:51:23
1042
转载 webbrower中JavaScript和c++的互相调用方法
Javascript 与 C++ 互操作的一种方式,但是有一定的局限性: C++ 调用 JS 时,要求是全局函数或变量。 对于 iframe 中的页面,是无法调用到的,要解决跨域等问题。这种情况下,不建议使用。 如果是简单页面,例如客户端用 web 来做界面时,用这个还是挺方便...1、C++调用WebBrowser中的全局函数,变量等(1)从C++的角度看WebBrowser中的...
2019-03-21 20:20:50
604
原创 Vulkan入门流程
Vulkan是Khronos Group(OpenGL标准的维护组织)开发的一个新API,它提供了对现代显卡的一个更好的抽象,与OpenGL和Direct3D等现有api相比,Vulkan可以更详细的向显卡描述你的应用程序打算做什么,从而可以获得更好的性能和更小的驱动开销。Vulkan的设计理念与Direct3D 12和Metal基本类似,但Vulkan作为OpenGL的替代者,它设计之初就是为了...
2019-03-19 22:13:29
10659
原创 ios app应用程序发布到app store流程
第一次尝试,还是一个比较繁琐的过程。1,首先你需要有一个apple developer开发者账号,登入后台。需要创建一个发布者证书,可以看到上面我 已经创建了一个开发者证书,下面是新创建的发布证书。创建的步骤如下:打开mac的钥匙串管理,生成一个CertificateSigningRequest.certSigningRequest 文件,然后在新建一个证书...
2015-05-21 18:52:14
1701
1
原创 objective-c中nonatomic,assign,copy,retain的区别
nonatomic:非原子性访问,不加同步,多线程并发访问会提高性能。如果不加此属性,则默认是两个访问方法都为原子型事务访问。 (atomic是Objc使用的一种线程保护技术,基本上来讲,是防止在写未完成的时候被另外一个线程读取,造成数据错误。而这种机制是耗费系统资源的,所 以在iPhone这种小型设备上,如果没有使用多线程间的通讯编程,那么nonatom
2015-01-06 23:23:16
1357
转载 windows编程vs编译器-mdd、mtd编译选项的区别
查看windows编程vs编译器-mdd、mtd编译选项的区别1、编译选项的位置以VS2005为例,这样子打开:1) 打开项目的Property Pages对话框2) 点击左侧C/C++节3) 点击Code Generation节4) 右侧第六行Runtime Library项目
2014-12-24 22:19:45
2359
原创 C++编码规范
命名规范通用命名规则类型名类型名(类、结极体、类型定义(typedef)、枚举)以大写字母开始并混合大小写,如Line, SavingsAccount变量名变量名必须以小写字母开始并混合大小写, 如line, savingsAccount函数名函数名必须以小写字母的动词开始并混合大小写,如:getName(), c
2014-10-19 20:04:36
2094
原创 qml动画控制器AnimationController
AnimationController:一般的动画是使用定时器来完成的,但是AnimationController允许给定的动画,手动控制,可以通过控制她的progress属性来操作动画的进度。completeToBeginning(),回到动画的初始状态,按照当前的动画进度,逆向回到动画的初始状态completeToEnd(),正向的播放动画,按照当前的动画进度,正向的播放到动画的最
2014-09-30 22:59:41
2170
原创 qml部署ios播放声音的一些问题
要在qml中播放一段声音,比如游戏音效,非常简单,可以使用Audio或者SoundEffec但是他们两者是有区别的,参考这个https://www.ics.com/blog/qt-5-multimedia-qml-elements#.U-9RY9yaBvQ我在mac上编译,Audio是不起作用的,换用了SoundEffec,测试没问题使用qmake生成x
2014-08-25 23:13:52
2461
原创 qt-qml移动开发之在ios上开发和部署app流程简介
qt5.3已经全面支持移动开发,除了mac,windows,linux,还支持ios,android,wp,meego等移动平台,本教程是作者根据自己的经验,从头讲怎么样在ios上发布自己的app,由于目前国内相关文章还比较少,可能文章里有所疏漏,或者并非最优方法。软件准备:qt5.3 , xcode 5.1.1编译环境: Mac osQt5.3下载地址 h
2014-08-24 21:03:37
2615
原创 wordpress迁移以及遇到的一些问题[mysql备份导入导出][固定链接404]
总的问题有两个,一是apache的配置,二是mysql的导出和导入。以及迁移后遇到的一些问题解决过程和方法。A机器为老服务器,B为新服务器,A机器使用Appserv,B使用wmap,在配置多站点时候,遇到了一点儿不同。除了都要打开httpd.confInclude conf/extra/httpd-vhosts.confLoadModule rewrite_
2014-07-22 14:33:20
2604
原创 qt qml中PropertyAnimation的几种用法
qml是qt移动开发跨平台方案,propertyAnimation则提供了qml中动画效果
2014-07-15 15:56:53
5809
原创 远程线程注入dll
// CommonInject.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include #include #include #include #include using namespace std;#include #pragma comment(li
2014-06-04 16:46:52
1840
原创 vmmap内存泄露工具说明
VMMap是一个免费的工具,可以用来分析应用程序使用虚拟和物理内存的情况。 VMMap对程序员是非常有用的。如果您在寻找免费的工具来理解和优化您的应用程序的内存使用量 ,那么你可以尝试VMMap。除了内存使用图形来表示,VMMap也显示摘要信息和详细进程的内存映射。 强大的过滤和刷新功能允许您确定进程的内存使用情况和应用功能内存成本的来源。除了为活动的进程,灵活的分析意见,VM
2014-03-14 00:11:33
6244
原创 vs 设置代码编辑器的颜色[VS2005,VS2008,VS2010通用]
如果想自定义的话,可以选择 菜单Tools > Options > Environment > Font and Colors在右侧的选项里,分别选择Plain Text ,key words,indentify等,选择对应的前置颜色和背景颜色但是有很多模版,可以从网上下载下来,然后导入vs即可推荐 http://studiostyl.es/
2014-03-12 13:03:25
8091
原创 vs2005和vs2010 UAC提权
UAC是什么意思,看官方解释:User Account Control (UAC) is a new security component in Windows Vista and newer operating systems. With UAC fully enabled, interactive administrators normally run with least u
2014-03-11 19:47:13
3046
原创 Qt远程控制源代码下载
Qt 远程控制源代码下载地址http://www.seanyxie.com/qt%E8%BF%9C%E7%A8%8B%E6%8E%A7%E5%88%B6%E6%BA%90%E4%BB%A3%E7%A0%81%E4%B8%8B%E8%BD%BD/
2014-03-09 17:48:44
3447
3
原创 Qt 聊天软件 源码下载
Qt 局域网聊天软件 c++源代码下载http://www.seanyxie.com/qt%E5%B1%80%E5%9F%9F%E7%BD%91%E8%81%8A%E5%A4%A9%E8%BD%AF%E4%BB%B6c%E6%BA%90%E7%A0%81%E4%B8%8B%E8%BD%BD/
2014-03-09 16:34:54
3357
1
原创 vs 2005编译boost
主要遇到了一个问题:机器上装了VS2005,2008,2010三个版本,编译生成的目标lib都是vc100的,即便使用VS2005的命令行终端后来是修改了$BOOST$/tools/build/v2/user-config.jam文件# -------------------# MSVC configuration.# -------------------# Conf
2014-01-14 19:32:09
1380
原创 图片纹理plist介绍
一开始我也是从网上下载的源码查看,里面用的图片是一整张,同时附带一个plist文件,打开plist文件查看,发现其实是图片里的每个小图片是对应的,格式如下:但是不知道是怎么生成的,难道是自己手写的,不可能,而且为什么代码里可以这么用,是怎么识别的后来找到了生成软件,而且iOS和android上之所以这么做,是有理由的:http://www.frozax.com/
2014-01-01 19:18:29
2849
原创 coco2d笔记
记得比较凌乱,主要是为了记录下平时遇到的问题,温故而知新1,replaceScene和pushScene生命周期场景切换时候,replaceScene会将上一个场景销毁,因为在切换场景时候,CCDirector不会retain上一个场景的引用计数,在下一个循环的时候,检测到其引用计数为0,则会被回收。pushScene则会retain上一个场景的引用计数,保证其不会被销
2013-12-29 21:43:20
1755
8
原创 Cocos2d-x笔记
1,创建对象的方法创建cocos2d-x对象通常有两种方法,第一种是通过new操作符来创建一个未初始化的对象,然后调用init系列方法来初始化,第二个方法是使用类的静态工厂方法来创建一个对象。比如CCSprite *ps1=new CCSprite();ps1->initWithFile("1.png");CCSprite *ps2=CCSprite::create("1.pn
2013-11-14 15:40:55
1625
转载 cocos2d学习 -- 相关基础概念
游戏的主要逻辑和结构:创建游戏场景,在场景上添加一个或者多个层,在指定层上添加精灵、菜单、文字,为精灵和文字执行某个动作(移动),检测玩家触屏事件,开启任务调度执行碰撞检测和更新数据,通过导演类管理和切换场景等等。(1)场景(CCScene)就是游戏的关卡,也可以表示一个界面。你可以只创建一个场景也可以创建多个场景。它是构成游戏的画面,一般是先绘制一个场景,然后在场景中叠加或组合一
2013-09-12 23:48:29
1381
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人