乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 58|回复: 3

令人难以置信。

[复制链接]

116

主题

996

帖子

9

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1466
发表于 2015-10-28 23:29:06 | 显示全部楼层 |阅读模式
这里有一个警示性的故事,不要认为发布的代码是正确的、经济的,甚至是有意义的。这个片段来自几个月前出版的一本书(Unity3D代码的CookBook)(而且不便宜)我已经注释掉了违规代码并替换了Update()方法,该代码旨在更新覆盖在游戏视觉效果上的GUI上的文本。每个GameObject所附加的每个类脚本中的每个Update()方法都针对显示的每一帧运行......大约每秒1580帧,正如您可以想象的那样,节省代码来完成工作是一种好处;特别是当游戏屏幕变得繁忙时...需要做出很多决定才能让该帧显示“我死了吗”“这个珠光宝气吗”“僵尸在哪里”“玩家想在这里转弯、加速、减速、跳跃、逃跑、战斗等吗”有些人会接受这个代码并在他们从现在到获得“真正的工作”之间构建的每个游戏中使用它,这让我有点害怕。我更担心的是AutoCAD插件代码也发生了类似的情况,保持健康并繁荣!使用UnityEngine;。
使用UnityEngine.UI;。
使用系统;。
使用System.Collections;。

公共类ClockDigital:MonoBeAct{。

私有文本文本时钟;。

//将其用于初始化。
启动 () {。
文本时钟=GetComponent();。
}。

//每帧调用一次更新(nom 60 FPS,)。
更新 () {。
textClock.text=DateTime.Now.ToString("HH: mm: ss");。
}。

//一堆废话!!。
//无效更新(){。
//DateTime时间=DateTime.Now;。
//字符串小时=领先零(time.Hour);。
//字符串分钟=领先零(time.Minute);。
//字符串秒=领导零(time.Second);。
//textClock.text=小时 + ":" + 分钟 + ":" + 秒;。
//}。
//string领导零(int n){。
//返回n.ToString(),Pad左侧(2,'0');。
//}。
}。



kpt4sgvfzhf.png

kpt4sgvfzhf.png

本帖以下内容被隐藏保护;需要你回复后,才能看到!

游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

61

主题

792

帖子

35

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1015
发表于 2015-10-29 08:37:49 | 显示全部楼层
哈哈
我想我会把这个留在这里(我知道这不是正确的语言,但偶尔看看专业人士是如何做到的总是很好的)。
Doom3源代码审查。
http://fabiensanglard.net/doom3/index.php
回复

使用道具 举报

116

主题

996

帖子

9

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1466
发表于 2015-11-2 11:34:35 | 显示全部楼层
这里只是一个想法,没有时间检查对tostring的调用是如何增加的,但是您可能在那里引入了额外的堆栈操作,通过使代码读起来非常漂亮来减慢速度。
回复

使用道具 举报

116

主题

996

帖子

9

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1466
发表于 2015-11-2 17:10:56 | 显示全部楼层

你好,威尔,
你的评论提醒我,我还没有真正测试代码效率
我想我的替代方案将减少75%的加工时间
…并且满足我的审美品味。
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-2-4 21:56 , Processed in 0.150424 second(s), 63 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表