所有由罗佳(博主)发布的文章

setTimeout和setInterval的用法

由于我的js没有正规学习过,所以码东西的时候总会有一些新发现,这两天写弹幕播放器的时候我又发现了定时函数的新用法,于是来记录一下。

一开始我从w3school学习了setTimeout的基本用法,他的例子是这样的

<html>
<head>
<script type="text/javascript">
function timedMsg()
 {
 var t=setTimeout("alert('5 seconds!')",5000)
 }
</script>
</head>

<body>
<form>
<input type="button" value="Display timed alertbox!" onClick="timedMsg()">
</form>
</body>
</html>

于是我后来就一直用引号围起要定时运行的内容。。。。。
继续阅读setTimeout和setInterval的用法

Canvas文字绘制性能测试

做了个canvas文字测试,看看效果如何。
由于代码中包含了图片的base64码所以放在最后了,测试结果如下:

//代码内容:一张写了5个蓝色喵的图片和5个无任何样式的喵字各绘制十万次
123.8950000006298	//图片
153.4990000000107	//文字
91.63100000114355	//图片
150.8400000002439	//文字
88.55799999946612	//图片
150.93399999932444	//文字
88.62000000044645	//图片
150.16500000092492	//文字
87.77499999996508	//图片
149.93399999912072	//文字
87.90600000065751	//图片
149.8909999991156	//文字
87.98000000024331 	//图片
65.1319999997213 	//文字

为了尽量准确一点,避免浏览器热身等原因我把测试放在循环里进行多次测试。
可见文字渲染确实是效率比较低的,不过这里还不是太明显。
这里的文字渲染还是无任何样式的,平常应用的时候不可能就这么用没样式的字,所以我还要再来一个有样式文字渲染测试。
继续阅读Canvas文字绘制性能测试

四舍五入性能测试

代码:

<script>
var n=6543.5465479832;
var r;
var ta=performance.now();
for(var i=0;i<10000;i++){
   r=n.toFixed();
}
console.log(r);
console.log("toFixed:"+(performance.now()-ta));

ta=performance.now();
for(var i=0;i<10000;i++){
   r=(n+0.5)|0;
}
console.log(r);
console.log("+0.5按位或0:"+(performance.now()-ta));

ta=performance.now();
for(var i=0;i<10000;i++){
   r=Math.round(n);
}
console.log(r);
console.log("Math.round:"+(performance.now()-ta));
</script>

结果:

6544
toFixed:4.387999999380554
6544
+0.5按位或0:0.30300000071292743
6544
Math.round:0.4239999998389976

再也不用toFixed了 (ค้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้ ● ω ● ค้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้

个人弹幕站点发布

本文不再更新,最新内容见菜单里的个人弹幕站

上一篇博文发了个迷你弹幕播放器,然后我发现我自己也不方便发视频。。。于是我就决定做个后台来管理,用phpmyadmin手动加根本不靠谱嘛!

现在我已经把迷你播放器和后台搞在一起了,变成了一套站点。从此以后人人都可以有自己的方便配置的弹幕站点,投稿审核什么的都见鬼去吧!

GitHub:iTisso/SelfDanmakuSite

建议使用git克隆到服务器而不是下载文件搬到服务器,这样方便接收更新(如果有的话),当然如果不会用git那就点GitHub的下载Zip按钮下包然后传到网站上吧。。

在GitHub里我已经大概写了这个站点的食用方法,在这里再写一份非常详细的版本。

 

先上一个炫酷的osu视频

继续阅读个人弹幕站点发布

迷你弹幕播放器完工

由于文件床难产,弹幕播放器也难产,所以我把弹幕播放器做了个阉割版本,取名叫迷你弹幕播放器。

【经检测此播放器对移动设备不友好,请谨慎观看。】

danmaku.luojia.me已上线,管理页面赶制中。
没有托管到github。
迷你版里我稍微改了一下Glory一直吐槽的图标问题(改了两个,不过剩下的两个看起来就有点不和谐了。。。
然后也做了个CanvasObjLibrary的阉割版,不过似乎也没什么性能上的提升,唯一的好处就是js文件小了。
以下放出正式版本(目测没有后续版本了。。)的演示
继续阅读迷你弹幕播放器完工

CanvasObjLibrary更新log 20140807

好久没更新COL了(其实只是没提交
在我自己用的过程中(反正也没有别人用)又优化了一下
·有自带矩阵计算的位置啦,减少了每帧绘图浏览器都要另外计算出矩阵的环节
·再也不怕绘制被鼠标判定卡掉帧啦!现在改成了仅在鼠标有动作时才通知绘图环节判断鼠标指着谁,而不是每一帧都判断一次,由此cpu使用减少30%(撒花
GitHub:见菜单里的github里的CanvasObjLibrary里的某个名字很长的文件…

又过了一个月了呢

这个月我都干了些什么咧?
前10天跪在医院,中间10天狂玩游戏,后10天玩游戏写代码聊天。

本来我应该好好写代码的吖!这么下去效率实在太低下了!

现在因为一直纠结文件床的重构版到底用什么结构比较好,结果整个项目就一直卡在哪里。。。。。每天就动几行,最多十几行。。。
所以这个月过得和浪费时间没啥区别。。。

接下来我要好好写作(dai)业(ma),当然首先我得写得出来( ́•ु ω•ू)。

Nexus5安装Ubuntu Touch

[底部部分内容更新]
本来我就是冲着体验一下Ubuntu Touch才get了这部Nexus5,于是我找准蹭网的时机,安顿好了安卓以后,立刻就开始搞Ubuntu Touch了。

首先我暂时只能把安装过程的图发出来,因为我不知道怎么在Ubuntu Touch里截图(这坑货截图好像要在电脑端用命令。。【不好剧透了( ́•ु ω•ू)….
(偶这是多系统的安装步骤哦,毕竟Ubuntu Touch还那么蛋疼新鲜,直接刷系统的话你的机器可能就没什么用了

继续阅读Nexus5安装Ubuntu Touch

OSU快速从血猫下图代码

2024-08-29更新:此方法可能已经失效,且osu lazer已经支持任何用户的游戏内下载,无需再使用第三方镜像了。

 

把下面这段代码放在一个书签里,然后从OSU里点出map页面以后直接点一下这个书签,就会自动从血猫下载图啦(≧∇≦)

 

设置方法:复制以下代码,点一下浏览器的添加到收藏夹,清空地址里的内容并把代码粘贴进去,然后随便起个名字,放在书签栏醒目的地方。

javascript:try{window.location="http://bloodcat.com/osu/s/"+$(".beatmapDownloadButton")[$(".beatmapDownloadButton").length-1].querySelector("a").href.match(/\d+$/)[0];}catch(e){alert("未登录或不在下载页面");}

类似这样

 

 

[更新]解决在有”Without Video”按钮页面出错的问题

[更新]跟着血猫的地址把m换成了s

PHP获取文件大小

今天码PHP的时候碰到一个很蛋疼的问题,我在做文件床路由模块的时候测试用php输出文件下载,但是很大的文件永远下载不完整,浏览器只会下几百M然后就结束了。

于是我开始从文件输出部分开始一步步往回推,到最后发现原来是服务器告诉浏览器这个文件只有这么大,于是浏览器接收了这么多字节后就关闭连接了。

接着我就开始filesize各种大小的文件,发现大于4G的文件都会出现这样的情况,于是我就去php.net逛了一下,只见这血淋淋的一幕

NoteBecause PHP’s integer type is signed and many platforms use 32bit integers, some filesystem functions may return unexpected results for files which are larger than 2GB.

注意:因为PHP的整数类型是有符号整数并且很多平台还他喵的在用32位整数,一些文件系统相关的函数作用在大于2GB文件时可能返回感天动地的结果。

我只想说————————————坑爹呢这是!你都那么多代了这个函数还不升级一下简直有病吧! 继续阅读PHP获取文件大小

博主画了一只筒隐月子

今早去医院换药,结果医生给我直接又补了两针,卧槽都不给麻醉!

还是回到主题。这幅画我花了8个多小时描出来了(标题好像起错了呢。。。),由于实在不想再画了。于是没给头发上色(或者说我描的是白发版。。),直接挂了个小电视上去。。。看起来不会那么空。

继续阅读博主画了一只筒隐月子