Help
RSS
API
Feed
Maltego
Contact
Domain > qiankanglai.me
×
More information on this domain is in
AlienVault OTX
Is this malicious?
Yes
No
DNS Resolutions
Date
IP Address
2018-08-13
107.150.125.104
(
ClassC
)
2018-08-13
45.249.244.42
(
ClassC
)
2018-08-13
45.249.246.167
(
ClassC
)
2024-07-12
104.21.27.167
(
ClassC
)
Port 80
HTTP/1.1 301 Moved PermanentlyDate: Fri, 12 Jul 2024 10:36:48 GMTContent-Type: text/htmlContent-Length: 167Connection: keep-aliveCache-Control: max-age3600Expires: Fri, 12 Jul 2024 11:36:48 GMTLocation: https://qiankanglai.me/Report-To: {endpoints:{url:https:\/\/a.nel.cloudflare.com\/report\/v4?sdc%2F%2Blm%2Ft%2FgFDpkkcYRcwQl6paIeM9PGX2%2FohM4lXNO96tJgv6MG5wG0U%2FWMjDr7dCH5yq8wrHG3vquyxpnTrx%2FXyJnq01SfwpPMUxD0knQabahVWj4a5Z8T17zzMeI4kAQ%3D%3D},group:cf-nel,max_age:604800}NEL: {success_fraction:0,report_to:cf-nel,max_age:604800}Server: cloudflareCF-RAY: 8a2064f569e576f2-SEAalt-svc: h3:443; ma86400 html>head>title>301 Moved Permanently/title>/head>body>center>h1>301 Moved Permanently/h1>/center>hr>center>cloudflare/center>/body>/html>
Port 443
HTTP/1.1 200 OKDate: Fri, 12 Jul 2024 10:36:49 GMTContent-Type: text/html; charsetutf-8Transfer-Encoding: chunkedConnection: keep-alivelast-modified: Sat, 25 May 2024 12:14:49 GMTaccess-control-allow-origin: *expires: Fri, 12 Jul 2024 10:46:49 GMTCache-Control: max-age600x-hosts-log-append: pages_hosts_ips:x-proxy-cache: MISSx-github-request-id: E9E0:1615C6:CF181F:D3B1E9:6691073FAge: 0via: 1.1 varnishx-served-by: cache-pao-kpao1770024-PAOx-cache: MISSx-cache-hits: 0x-timer: S1720780609.986646,VS0,VE98vary: Accept-Encodingx-fastly-request-id: 80e5673ff1487f5016c13e2cad50dbec38279a5bCF-Cache-Status: DYNAMICReport-To: {endpoints:{url:https:\/\/a.nel.cloudflare.com\/report\/v4?s%2Fh2wnoJY%2BeTDoHmFQ%2FN1HfA0eoZOK%2BPn7ENXKlZPbL4q7MDjXJeZlcmvO%2FG50Dn72SQxnDSDqFqQ3gIKKWjF3UyD%2FS5mvzVAqtQG9b6KLJq3CmQPhRUFktKbT6Pae%2BAcFg%3D%3D},group:cf-nel,max_age:604800}NEL: {success_fraction:0,report_to:cf-nel,max_age:604800}Server: cloudflareCF-RAY: 8a2064f5cf196832-SEAalt-svc: h3:443; ma86400 !DOCTYPE html>html styledisplay: none; langzh>head>meta charsetutf-8>script> window.materialVersion 1.5.6 // Delete localstorage with these tags window.oldVersion codestartv1, 1.3.4, 1.4.0, 1.4.0b1, 1.5.0, 1.5.2, 1.5.5 /script>meta http-equivx-dns-prefetch-control contenton>link reldns-prefetch hrefhttps://qiankanglai.disqus.com />link reldns-prefetch hrefhttps://www.google-analytics.com />link reldns-prefetch hrefhttps://fonts.googleapis.com />meta http-equivX-UA-Compatible contentIEEdge,chrome1>meta namerenderer contentwebkit>meta nameviewport contentwidthdevice-width, initial-scale1, user-scalableno>title> Loading & Learning /title>link relicon shortcut typeimage/ico href/img/favicon.png>link relicon href/img/favicon.png>meta nameformat-detection contenttelephoneno />meta namedescription itempropdescription contentKanglai's personal blog, mainly about coding :D>meta namekeywords content>meta nametheme-color content#0097A7>meta http-equivCache-Control contentno-transform />meta http-equivCache-Control contentno-siteapp />!--if lte IE 9> link relstylesheet href/css/ie-blocker.css> script src/js/ie-blocker.zhCN.js>/script> !endif-->script>(function(){window.lsloader{jsRunSequence:,jsnamemap:{},cssnamemap:{}};lsloader.removeLSfunction(a){try{localStorage.removeItem(a)}catch(b){}};lsloader.setLSfunction(a,c){try{localStorage.setItem(a,c)}catch(b){}};lsloader.getLSfunction(a){var c;try{clocalStorage.getItem(a)}catch(b){c}return c};versionString/*+(window.materialVersion||unknownVersion)+*/;lsloader.cleanfunction(){try{var b;for(var a0;alocalStorage.length;a++){b.push(localStorage.key(a))}b.forEach(function(e){var flsloader.getLS(e);if(window.oldVersion){var dwindow.oldVersion.reduce(function(g,h){return g||f.indexOf(/*+h+*/)!-1},false);if(d){lsloader.removeLS(e)}}})}catch(c){}};lsloader.clean();lsloader.loadfunction(f,a,b,d){if(typeof bboolean){db;bundefined}dd||false;bb||function(){};var e;ethis.getLS(f);if(e&&e.indexOf(versionString)-1){this.removeLS(f);this.requestResource(f,a,b,d);return}if(e){var ce.split(versionString)0;if(c!a){console.log(reload:+a);this.removeLS(f);this.requestResource(f,a,b,d);return}ee.split(versionString)1;if(d){this.jsRunSequence.push({name:f,code:e});this.runjs(a,f,e)}else{document.getElementById(f).appendChild(document.createTextNode(e));b()}}else{this.requestResource(f,a,b,d)}};lsloader.requestResourcefunction(b,e,a,c){var dthis;if(c){this.iojs(e,b,function(h,f,g){d.setLS(f,h+versionString+g);d.runjs(h,f,g)})}else{this.iocss(e,b,function(f){document.getElementById(b).appendChild(document.createTextNode(f));d.setLS(b,e+versionString+f)},a)}};lsloader.iojsfunction(d,b,g){var athis;a.jsRunSequence.push({name:b,code:});try{var fnew XMLHttpRequest();f.open(get,d,true);f.onreadystatechangefunction(){if(f.readyState4){if((f.status>200&&f.status300)||f.status304){if(f.response!){g(d,b,f.response);return}}a.jsfallback(d,b)}};f.send(null)}catch(c){a.jsfallback(d,b)}};lsloader.iocssfunction(f,c,h,a){var bthis;try{var gnew XMLHttpRequest();g.open(get,f,true);g.onreadystatechangefunction(){if(g.readyState4){if((g.status>200&&g.status300)||g.status304){if(g.response!){h(g.response);a();return}}b.cssfallback(f,c,a)}};g.send(null)}catch(d){b.cssfallback(f,c,a)}};lsloader.iofontsfunction(f,c,h,a){var bthis;try{var gnew XMLHttpRequest();g.open(get,f,true);g.onreadystatechangefunction(){if(g.readyState4){if((g.status>200&&g.status300)||g.status304){if(g.response!){h(g.response);a();return}}b.cssfallback(f,c,a)}};g.send(null)}catch(d){b.cssfallback(f,c,a)}};lsloader.runjsfunction(f,c,e){if(!!c&&!!e){for(var b in this.jsRunSequence){if(this.jsRunSequenceb.namec){this.jsRunSequenceb.codee}}}if(!!this.jsRunSequence0&&!!this.jsRunSequence0.code&&this.jsRunSequence0.status!failed){var adocument.createElement(script);a.appendChild(document.createTextNode(this.jsRunSequence0.code));a.typetext/javascript;document.getElementsByTagName(head)0.appendChild(a);this.jsRunSequence.shift();if(this.jsRunSequence.length>0){this.runjs()}}else{if(!!this.jsRunSequence0&&this.jsRunSequence0.statusfailed){var dthis;var adocument.createElement(script);a.srcthis.jsRunSequence0.path;a.typetext/javascript;this.jsRunSequence0.statusloading;a.onloadfunction(){d.jsRunSequence.shift();if(d.jsRunSequence.length>0){d.runjs()}};document.body.appendChild(a)}}};lsloader.tagLoadfunction(b,a){this.jsRunSequence.push({name:a,code:,path:b,status:failed});this.runjs()};lsloader.jsfallbackfunction(c,b){if(!!this.jsnamemapb){return}else{this.jsnamemapbb}for(var a in this.jsRunSequence){if(this.jsRunSequencea.nameb){this.jsRunSequencea.code;this.jsRunSequencea.statusfailed;this.jsRunSequencea.pathc}}this.runjs()};lsloader.cssfallbackfunction(e,c,b){if(!!this.cssnamemapc){return}else{this.cssnamemapc1}var ddocument.createElement(link);d.typetext/css;d.hrefe;d.relstylesheet;d.onloadd.onerrorb;var adocument.getElementsByTagName(script)0;a.parentNode.insertBefore(d,a)};lsloader.runInlineScriptfunction(c,b){var adocument.getElementById(b).innerText;this.jsRunSequence.push({name:c,code:a});this.runjs()}})();/script>script>function Queue(){this.dataStore;this.offerb;this.polld;this.execNexta;this.debugfalse;this.startDebugc;function b(e){if(this.debug){console.log(Offered a Queued Function.)}if(typeof efunction){this.dataStore.push(e)}else{console.log(You must offer a function.)}}function d(){if(this.debug){console.log(Polled a Queued Function.)}return this.dataStore.shift()}function a(){var ethis.poll();if(e!undefined){if(this.debug){console.log(Run a Queued Function.)}e()}}function c(){this.debugtrue}}var queuenew Queue();/script>style idmaterial_css>/style>script>if(typeof window.lsLoadCSSMaxNums undefined)window.lsLoadCSSMaxNums 0;window.lsLoadCSSMaxNums++;lsloader.load(material_css,/css/material.min.css?Z7a72R1E4SxzBKR/WGctOA,function(){if(typeof window.lsLoadCSSNums undefined)window.lsLoadCSSNums 0;window.lsLoadCSSNums++;if(window.lsLoadCSSNums window.lsLoadCSSMaxNums)document.documentElement.style.display;}, false)/script>style idstyle_css>/style>script>if(typeof window.lsLoadCSSMaxNums undefined)window.lsLoadCSSMaxNums 0;window.lsLoadCSSMaxNums++;lsloader.load(style_css,/css/style.min.css?NKhlKQkXw/c66TR5p4wO+w,function(){if(typeof window.lsLoadCSSNums undefined)window.lsLoadCSSNums 0;window.lsLoadCSSNums++;if(window.lsLoadCSSNums window.lsLoadCSSMaxNums)document.documentElement.style.display;}, false)/script>style> body, html { font-family: Roboto, Helvetica Neue, Helvetica, PingFang SC, Hiragino Sans GB, Microsoft YaHei, 微软雅黑, Arial, sans-serif; overflow-x: hidden !important; } code { font-family: Consolas, Monaco, Andale Mono, Ubuntu Mono, monospace; } a { color: #00838F; } .mdl-card__media, #search-label, #search-form-label:after, #scheme-Paradox .hot_tags-count, #scheme-Paradox .sidebar_archives-count, #scheme-Paradox .sidebar-colored .sidebar-header, #scheme-Paradox .sidebar-colored .sidebar-badge{ background-color: #EEEEEE !important; } /* Sidebar User Drop Down Menu Text Color */ #scheme-Paradox .sidebar-colored .sidebar-nav>.dropdown>.dropdown-menu>li>a:hover, #scheme-Paradox .sidebar-colored .sidebar-nav>.dropdown>.dropdown-menu>li>a:focus { color: #EEEEEE !important; } #post_entry-right-info, .sidebar-colored .sidebar-nav li:hover > a, .sidebar-colored .sidebar-nav li:hover > a i, .sidebar-colored .sidebar-nav li > a:hover, .sidebar-colored .sidebar-nav li > a:hover i, .sidebar-colored .sidebar-nav li > a:focus i, .sidebar-colored .sidebar-nav > .open > a, .sidebar-colored .sidebar-nav > .open > a:hover, .sidebar-colored .sidebar-nav > .open > a:focus, #ds-reset #ds-ctx .ds-ctx-entry .ds-ctx-head a { color: #EEEEEE !important; } .toTop { background: #757575 !important; } .material-layout .material-post>.material-nav, .material-layout .material-index>.material-nav, .material-nav a { color: #757575; } #scheme-Paradox .MD-burger-layer { background-color: #757575; } #scheme-Paradox #post-toc-trigger-btn { color: #757575; } .post-toc a:hover { color: #00838F; text-decoration: underline; }/style>style> body{ background-color: #F5F5F5; } /* blog_info bottom background */ #scheme-Paradox .material-layout .something-else .mdl-card__supporting-text{ background-color: #fff; } /style>style> .fade { transition: all 800ms linear; -webkit-transform: translate3d(0,0,0); -moz-transform: translate3d(0,0,0); -ms-transform: translate3d(0,0,0); -o-transform: translate3d(0,0,0); transform: translate3d(0,0,0); opacity: 1; } .fade.out{ opacity: 0; } /style>link hrefhttps://fonts.googleapis.com/css?familyRoboto:300,400,500 relstylesheet>style idmaterial_icons>/style>script>if(typeof window.lsLoadCSSMaxNums undefined)window.lsLoadCSSMaxNums 0;window.lsLoadCSSMaxNums++;lsloader.load(material_icons,/css/material-icons.css?pqhB/Rd/ab0H2+kZp0RDmw,function(){if(typeof window.lsLoadCSSNums undefined)window.lsLoadCSSNums 0;window.lsLoadCSSNums++;if(window.lsLoadCSSNums window.lsLoadCSSMaxNums)document.documentElement.style.display;}, false)/script>script>lsloader.load(jq_js,https://cdn.bootcss.com/jquery/2.2.0/jquery.min.js, true)/script>meta namemobile-web-app-capable contentyes>meta nameapplication-name contentLoading & Learning>meta namemsapplication-starturl contenthttp://qiankanglai.me/>meta namemsapplication-navbutton-color content#0097A7>meta nameapple-mobile-web-app-capable contentyes>meta nameapple-mobile-web-app-title contentLoading & Learning>meta nameapple-mobile-web-app-status-bar-style contentblack>link relapple-touch-icon href/img/favicon.png>meta propertyog:url contenthttp://qiankanglai.me/>meta propertyog:type contentblog>meta propertyog:title contentLoading & Learning>meta propertyog:image content/img/favicon.png>meta propertyog:description contentKanglai's personal blog, mainly about coding :D>meta nametwitter:card contentsummary_large_image>link relcanonical hrefhttps://qiankanglai.me />script typeapplication/ld+json>{ @context: http://schema.org, @type: Website, publisher: { @type: Organization, name: Loading & Learning, logo: /img/favicon.png }, url: http://qiankanglai.me, image: { @type: ImageObject, url: /img/favicon.png }, mainEntityOfPage: { @type: WebPage, @id: http://qiankanglai.me }, description: Kanglai's personal blog, mainly about coding :D}/script>script async srchttps://www.googletagmanager.com/gtag/js?idG-VF30YBX9Q5>/script>script> window.dataLayer window.dataLayer || ; function gtag(){dataLayer.push(arguments);} gtag(js, new Date()); gtag(config, G-VF30YBX9Q5);/script>meta namegenerator contentHexo 5.4.0>/head>body idscheme-Paradox classlazy>div classmaterial-layout mdl-js-layout has-drawer is-upgraded>main classmaterial-layout__content idmain>div idtop>/div>button classMD-burger-icon sidebar-toggle>span idMD-burger-id classMD-burger-layer>/span>/button>div classmaterial-index mdl-grid>div classmdl-card mdl-shadow--2dp daily-pic mdl-cell mdl-cell--8-col index-top-block>div classmdl-card__media mdl-color-text--grey-50 stylebackground-image:url(/img/daily_pic.png)>p classindex-top-block-slogan>a href#>A game developer interested in rendering, with focus on Unity now./a>/p>/div>div classmdl-card__supporting-text meta mdl-color-text--grey-600>div idauthor-avatar>img src/img/avatar.png width32px height32px altavatar>/div>div>strong>Kanglai Qian/strong>/div>/div>/div>div classmdl-card mdl-shadow--2dp something-else mdl-cell mdl-cell--8-col mdl-cell--4-col-desktop index-top-block>div classmdl-textfield mdl-js-textfield mdl-textfield--expandable methodpost action>label idsearch-label classmdl-button mdl-js-ripple-effect mdl-js-button mdl-button--fab mdl-color--accent mdl-shadow--4dp forsearch>i classmaterial-icons mdl-color-text--white rolepresentation>search/i>/label>form autocompleteoff idsearch-form methodget action//google.com/search accept-charsetUTF-8 classmdl-textfield__expandable-holder target_blank>input classmdl-textfield__input search-input typesearch nameq idsearch placeholder>label idsearch-form-label classmdl-textfield__label forsearch>/label>input typehidden namesitesearch valuehttp://qiankanglai.me>/form>/div>div classsomething-else-logo mdl-color--white mdl-color-text--grey-600>a href# target_blank>img src/img/logo.png altlogo />/a>/div>div classmdl-card__supporting-text meta meta--fill mdl-color-text--grey-600>div>strong>Loading & Learning/strong>/div>div classsection-spacer>/div>button idshow-pages-button classmdl-button mdl-js-button mdl-js-ripple-effect mdl-button--icon>i classmaterial-icons rolepresentation>view_carousel/i>span classvisuallyhidden>Pages/span>/button>ul classmdl-menu mdl-js-menu mdl-menu--bottom-right forshow-pages-button>a classindex_share-link href/tags title标签云>li classmdl-menu__item mdl-js-ripple-effect>标签云/li>/a>a classindex_share-link href/timeline title时间轴>li classmdl-menu__item mdl-js-ripple-effect>时间轴/li>/a>a classindex_share-link href/about title关于我>li classmdl-menu__item mdl-js-ripple-effect>关于我/li>/a>a classindex_share-link href/links title友情链接>li classmdl-menu__item mdl-js-ripple-effect>友情链接/li>/a>/ul>button idmenubtn classmdl-button mdl-js-button mdl-js-ripple-effect mdl-button--icon>i classmaterial-icons rolepresentation>more_vert/i>span classvisuallyhidden>show menu/span>/button>ul classmdl-menu mdl-js-menu mdl-menu--bottom-right formenubtn>a classindex_share-link hrefhttp://service.weibo.com/share/share.php?appkey&titleLoading & Learning&urlhttp://qiankanglai.me&pichttp://qiankanglai.me/img/favicon.png&searchPicfalse&stylesimple target_blank>li classmdl-menu__item mdl-js-ripple-effect>分享到微博/li>/a>a classindex_share-link hrefhttps://twitter.com/intent/tweet?textLoading & Learning&urlhttp://qiankanglai.me&viaKanglai Qian target_blank>li classmdl-menu__item mdl-js-ripple-effect>分享到 Twitter/li>/a>a classindex_share-link hrefhttps://www.facebook.com/sharer/sharer.php?uhttp://qiankanglai.me target_blank>li classmdl-menu__item mdl-js-ripple-effect>分享到 Facebook/li>/a>a classindex_share-link hrefhttps://plus.google.com/share?urlhttp://qiankanglai.me target_blank>li classmdl-menu__item mdl-js-ripple-effect>分享到 Google+/li>/a>/ul>/div>/div>div classlocate-thumbnail-symbol>/div>div classpost_entry-module mdl-card mdl-shadow--2dp mdl-cell mdl-cell--12-col fade out>div classpost_thumbnail-random mdl-card__media mdl-color-text--grey-50>p classarticle-headline-p>a href/2024/05/25/bc7-rdo-in-unity/>Unity里使用BC7 RDO压缩/a>/p>/div>div classmdl-color-text--grey-600 mdl-card__supporting-text post_entry-content>今天玩了下机械恋心Demo,发现开发组有些4K背景贴图还在使用BC1。在群里水了会,问了为啥没用BC7(毕竟现在DX11已经是标配了)——开发组是处于包体大小的考虑,Unity官方的crunch压缩只支持了ETC和DXT。像UE的话收购oodle之后就集成BC7 RDO了,开箱即用非常省心。不过抱着折腾的心态,我快速试了手在不破坏Unity资源管线+没有Unity源代码的情况下是否也能用起来。 span>a href/2024/05/25/bc7-rdo-in-unity/ target_self>阅读全文/a>/span>/div>div idpost_entry-info>div idpost_entry-left-info classmdl-card__supporting-text meta mdl-color-text--grey-600 >div idauthor-avatar>img src/img/avatar.png width44px height44px altKanglai Qians avatar>/div>div>strong>Kanglai Qian/strong>span>5月 25, 2024/span>/div>/div>div idpost_entry-right-info>span classpost_entry-views>/span>/div>/div>/div>div classpost_entry-module mdl-card mdl-shadow--2dp mdl-cell mdl-cell--12-col fade out>div classpost_thumbnail-random mdl-card__media mdl-color-text--grey-50>p classarticle-headline-p>a href/2023/12/25/notes-on-steamdeck/>Steam Deck接入笔记/a>/p>/div>div classmdl-color-text--grey-600 mdl-card__supporting-text post_entry-content>前段时间摸鱼的时候把自研在Steam Deck上跑起来了,发现网上相关资料比较少,记录下过程中一些好玩的坑。ps. 花时间搞这个一方面是接入手柄之后,实体操作感逼格瞬间上来了 还有一个原因是我有这个设备。 span>a href/2023/12/25/notes-on-steamdeck/ target_self>阅读全文/a>/span>/div>div idpost_entry-info>div idpost_entry-left-info classmdl-card__supporting-text meta mdl-color-text--grey-600 >div idauthor-avatar>img src/img/avatar.png width44px height44px altKanglai Qians avatar>/div>div>strong>Kanglai Qian/strong>span>12月 25, 2023/span>/div>/div>div idpost_entry-right-info>span classpost_entry-views>/span>/div>/div>/div>div classpost_entry-module mdl-card mdl-shadow--2dp mdl-cell mdl-cell--12-col fade out>div classpost_thumbnail-random mdl-card__media mdl-color-text--grey-50>p classarticle-headline-p>a href/2023/10/18/xcode15-build-performance/>XCode 15打包性能问题排查/a>/p>/div>div classmdl-color-text--grey-600 mdl-card__supporting-text post_entry-content>这两天升级了下XCode 15,一开始遇到了Xcode 15 linking error、unary_function、NWEndpoint.hostPort(host: , port: ) crash in Xcode15几个都是小问题。结果打了个包发现Build时间暴增: 本来单次编译需要1小时左右,现在直接涨到2.5小时还不太够。 span>a href/2023/10/18/xcode15-build-performance/ target_self>阅读全文/a>/span>/div>div idpost_entry-info>div idpost_entry-left-info classmdl-card__supporting-text meta mdl-color-text--grey-600 >div idauthor-avatar>img src/img/avatar.png width44px height44px altKanglai Qians avatar>/div>div>strong>Kanglai Qian/strong>span>10月 18, 2023/span>/div>/div>div idpost_entry-right-info>span classpost_entry-views>/span>/div>/div>/div>div classpost_entry-module mdl-card mdl-shadow--2dp mdl-cell mdl-cell--12-col fade out>div classpost_thumbnail-random mdl-card__media mdl-color-text--grey-50>p classarticle-headline-p>a href/2023/06/30/wired-tlog/>惹人嫌的warning MSB8028/a>/p>/div>div classmdl-color-text--grey-600 mdl-card__supporting-text post_entry-content>今天在等编译过程中,抽空了解了下一直出现的MSB8028(这个警告其实出现了应该有几年了orz),有点意思…从表现上来说非常简单,就是编译项目的时候有几个工程(后来发现其实是名字要长…)很容易报这个warning4>C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppBuild.targets(517,5): warning MSB8028: The intermediate directory (xxx\Engine\Intermediate\Build\Obj\x64\Hybrid\NvBlastExtSerialization\) contains files shared from another project (NvBlastExtSerialization.vcxproj). This can lead to incorrect clean and rebuild behavior. span>a href/2023/06/30/wired-tlog/ target_self>阅读全文/a>/span>/div>div idpost_entry-info>div idpost_entry-left-info classmdl-card__supporting-text meta mdl-color-text--grey-600 >div idauthor-avatar>img src/img/avatar.png width44px height44px altKanglai Qians avatar>/div>div>strong>Kanglai Qian/strong>span>6月 30, 2023/span>/div>/div>div idpost_entry-right-info>span classpost_entry-views>/span>/div>/div>/div>div classpost_entry-module mdl-card mdl-shadow--2dp mdl-cell mdl-cell--12-col fade out>div classpost_thumbnail-random mdl-card__media mdl-color-text--grey-50>p classarticle-headline-p>a href/2023/06/04/more-on-angle/>angle追加折腾笔记/a>/p>/div>div classmdl-color-text--grey-600 mdl-card__supporting-text post_entry-content>之前在angle折腾笔记里提到恢复angle作为ES3模拟器,方便PC上查BUG。当时为了模拟EXT_copy_image使用了Vulkan Backend,别的用起来都挺好,但是很蛋疼的一点是RenderDoc抓帧的API其实都是vlk的… 这礼拜查别的BUG的时候,索性痛定思痛尝试使用GLES Backend。这里记录下补全功能以及修复了若干Angle/RenderDoc相关问题的笔记… span>a href/2023/06/04/more-on-angle/ target_self>阅读全文/a>/span>/div>div idpost_entry-info>div idpost_entry-left-info classmdl-card__supporting-text meta mdl-color-text--grey-600 >div idauthor-avatar>img src/img/avatar.png width44px height44px altKanglai Qians avatar>/div>div>strong>Kanglai Qian/strong>span>6月 04, 2023/span>/div>/div>div idpost_entry-right-info>span classpost_entry-views>/span>/div>/div>/div>div classpost_entry-module mdl-card mdl-shadow--2dp mdl-cell mdl-cell--12-col fade out>div classpost_thumbnail-random mdl-card__media mdl-color-text--grey-50>p classarticle-headline-p>a href/2023/04/03/memory-issue-in-bss/>BSS段内存问题排查笔记/a>/p>/div>div classmdl-color-text--grey-600 mdl-card__supporting-text post_entry-content>本周版本的时候QA同学跑过来说iPhone 13进游戏闪退,而且没有抓到闪退的堆栈信息; 盲猜是内存问题,当时手头在忙就直接找人试了下低端一些的设备,结果没有翻车orz 就一时间有点摸不到头脑。后来腾出手直接XCode连着看了下,雀实是内存冲到2G之后被系统干了,在- (void)applicationDidReceiveMemoryWarning:(UIApplication*)application里打了行LOG也触发到了。昨天在家终于有空仔细研究下这个问题,最后发现还是蛮少见的情况… 特意记录一下笔记。 span>a href/2023/04/03/memory-issue-in-bss/ target_self>阅读全文/a>/span>/div>div idpost_entry-info>div idpost_entry-left-info classmdl-card__supporting-text meta mdl-color-text--grey-600 >div idauthor-avatar>img src/img/avatar.png width44px height44px altKanglai Qians avatar>/div>div>strong>Kanglai Qian/strong>span>4月 03, 2023/span>/div>/div>div idpost_entry-right-info>span classpost_entry-views>/span>/div>/div>/div>div classpost_entry-module mdl-card mdl-shadow--2dp mdl-cell mdl-cell--12-col fade out>div classpost_thumbnail-random mdl-card__media mdl-color-text--grey-50>p classarticle-headline-p>a href/2023/02/12/renderdoc-android-inject/>高版本安卓注入RenderDoc/a>/p>/div>div classmdl-color-text--grey-600 mdl-card__supporting-text post_entry-content>几年前在公司内部KM分享过如何方便的将RenderDoc内嵌到内部版本中从而方便调试,以及如何向下兼容更低版本的Android系统(RenderDoc Android最低系统要求是6.0)。手法其实非常简单: 直接将libVkLayer_GLES_RenderDoc.so这个打包进apk中然后手动加载下即可; 这样做额外的好处是不需要依赖其hook系统的机制,所以不需要interceptor-lib,进而压低系统版本要求。 span>a href/2023/02/12/renderdoc-android-inject/ target_self>阅读全文/a>/span>/div>div idpost_entry-info>div idpost_entry-left-info classmdl-card__supporting-text meta mdl-color-text--grey-600 >div idauthor-avatar>img src/img/avatar.png width44px height44px altKanglai Qians avatar>/div>div>strong>Kanglai Qian/strong>span>2月 12, 2023/span>/div>/div>div idpost_entry-right-info>span classpost_entry-views>/span>/div>/div>/div>div classpost_entry-module mdl-card mdl-shadow--2dp mdl-cell mdl-cell--12-col fade out>div classpost_thumbnail-random mdl-card__media mdl-color-text--grey-50>p classarticle-headline-p>a href/2022/05/07/notes-on-angle/>angle折腾笔记/a>/p>/div>div classmdl-color-text--grey-600 mdl-card__supporting-text post_entry-content>时隔多年重新编译angle,主要是为了PC上能模拟ES3.1,特别是最好能支持VT相关操作。本来不抱希望,毕竟angle文档上写的很清楚,目前GL/GLES/Vulkan Backend都只支持到ES 3.1,ES 3.2还处于in progress。但是突然发现EXT_copy_image这个扩展在Vulkan Backend上已经被支持Vulkan: Add support for EXT_copy_image,瞬间觉得有戏就折腾了下。 span>a href/2022/05/07/notes-on-angle/ target_self>阅读全文/a>/span>/div>div idpost_entry-info>div idpost_entry-left-info classmdl-card__supporting-text meta mdl-color-text--grey-600 >div idauthor-avatar>img src/img/avatar.png width44px height44px altKanglai Qians avatar>/div>div>strong>Kanglai Qian/strong>span>5月 07, 2022/span>/div>/div>div idpost_entry-right-info>span classpost_entry-views>/span>/div>/div>/div>div classpost_entry-module mdl-card mdl-shadow--2dp mdl-cell mdl-cell--12-col fade out>div classpost_thumbnail-random mdl-card__media mdl-color-text--grey-50>p classarticle-headline-p>a href/2022/05/01/unity-srpbatcher-on-dx/>从DX角度看SRPBatcher/a>/p>/div>div classmdl-color-text--grey-600 mdl-card__supporting-text post_entry-content>最近抽空研究了下Unity的SRPBatcher,根据官方文档说法这货能极大降低DrawCall代价,从而达到提升性能的目的,而且这个行为大多数情况下对于使用者是透明的。正好对这块比较感兴趣其实是最近在尝试优化这块,看看有什么思路可以白嫖,抓了帧稍微研究了下原理。 span>a href/2022/05/01/unity-srpbatcher-on-dx/ target_self>阅读全文/a>/span>/div>div idpost_entry-info>div idpost_entry-left-info classmdl-card__supporting-text meta mdl-color-text--grey-600 >div idauthor-avatar>img src/img/avatar.png width44px height44px altKanglai Qians avatar>/div>div>strong>Kanglai Qian/strong>span>5月 01, 2022/span>/div>/div>div idpost_entry-right-info>span classpost_entry-views>/span>/div>/div>/div>div classpost_entry-module mdl-card mdl-shadow--2dp mdl-cell mdl-cell--12-col fade out>div classpost_thumbnail-random mdl-card__media mdl-color-text--grey-50>p classarticle-headline-p>a href/2022/04/23/il2cppdumper-notes/>IL2CppDumper笔记/a>/p>/div>div classmdl-color-text--grey-600 mdl-card__supporting-text post_entry-content>最近研究了一段时间的IL2Cpp编译出来的dll,整理下笔记记录下中间遇到的一些问题和解决方法。 span>a href/2022/04/23/il2cppdumper-notes/ target_self>阅读全文/a>/span>/div>div idpost_entry-info>div idpost_entry-left-info classmdl-card__supporting-text meta mdl-color-text--grey-600 >div idauthor-avatar>img src/img/avatar.png width44px height44px altKanglai Qians avatar>/div>div>strong>Kanglai Qian/strong>span>4月 23, 2022/span>/div>/div>div idpost_entry-right-info>span classpost_entry-views>/span>/div>/div>/div>nav classmaterial-nav mdl-cell mdl-cell--12-col>span classpage-number current>1/span>a classpage-number href/page/2/>2/a>a classpage-number href/page/3/>3/a>a classpage-number href/page/16/>16/a>a classextend next relnext href/page/2/><button aria-label="Next page" class="mdl-button mdl-js-button mdl-js-ripple-effect mdl-button--icon"><i class="material-icons" role="presentation">arrow_forward</i></button>/a>/nav>script typetext/ls-javascript idthumbnail-script> var randomNum; var locatePost $(.locate-thumbnail-symbol).next(); for(var i 0; i 10; i++) { randomNum Math.floor(Math.random() * 15 + 1); locatePost.children(.post_thumbnail-random).attr(id, random_thumbnail-+randomNum); locatePost.children(.post_thumbnail-random).attr(data-original, /img/random/material- + randomNum + .jpg); $(.post_thumbnail-random).addClass(lazy); locatePost locatePost.next(); }/script>/div>div classsidebar-overlay>/div>aside idsidebar classsidebar sidebar-colored sidebar-fixed-left rolenavigation>div idsidebar-main>div classsidebar-header header-cover stylebackground-image: url(/img/sidebar_header.png);>div classtop-bar>/div>button typebutton classsidebar-toggle mdl-button mdl-js-button mdl-js-ripple-effect mdl-button--icon styledisplay: initial; data-upgraded,MaterialButton,MaterialRipple>i classmaterial-icons>clear_all/i>span classmdl-button__ripple-container>span classmdl-ripple>/span>/span>/button>div classsidebar-image>img src/img/avatar.png altKanglai Qians avatar>/div>a data-toggledropdown classsidebar-brand href#settings-dropdown>span class__cf_email__ data-cfemailc0b1a9a1aeaba1aea7aca1a980a7ada1a9aceea3afad>email protected/span>b classcaret>/b>/a>/div>ul classnav sidebar-nav>li classdropdown>ul idsettings-dropdown classdropdown-menu>/ul>/li>li idsidebar-first-li>a href/>i classmaterial-icons sidebar-material-icons>home/i>主页/a>/li>li>a href/tags title标签云>i classmaterial-icons sidebar-material-icons>label/i>标签云/a>/li>li>a href/timeline title时间轴>i classmaterial-icons sidebar-material-icons>timeline/i>时间轴/a>/li>li>a href/about title关于我>i classmaterial-icons sidebar-material-icons>person/i>关于我/a>/li>li>a href/links title友情链接>i classmaterial-icons sidebar-material-icons>links/i>友情链接/a>/li>/ul>/div>/aside>div idback-to-top classtoTop-wrap>a href#top classtoTop>i classmaterial-icons footer_top-i>expand_less/i>/a>/div>footer classmdl-mini-footer idbottom>div classmdl-mini-footer--left-section sns-list>a hrefhttps://github.com/qiankanglai target_blank>button classmdl-mini-footer--social-btn social-btn footer-sns-github>span classvisuallyhidden>Github/span>/button>/a>a hrefhttps://www.zhihu.com/people/qian-kang-lai target_blank>button classmdl-mini-footer--social-btn social-btn footer-sns-zhihu>span classvisuallyhidden>Zhihu/span>/button>/a>/div>div idcopyright>Copyright © span year>/span> Loading & Learning/div>div classmdl-mini-footer--right-section>div>div classfooter-develop-div>Powered by a hrefhttps://hexo.io target_blank classfooter-develop-a>Hexo/a>/div>div classfooter-develop-div>Theme - a hrefhttps://github.com/viosey/hexo-theme-material target_blank classfooter-develop-a>Material/a>/div>/div>/div>/footer>script data-cfasyncfalse src/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js>/script>script>lsloader.load(lazyload_js,/js/lazyload.min.js?1BcfzuNXqV+ntF6gq+5X3Q, true)/script>script>lsloader.load(js_js,/js/js.min.js?Bn9UzEm8RrBSxqyZB0zPjA, true)/script>script>lsloader.load(np_js,https://cdn.bootcss.com/nprogress/0.2.0/nprogress.min.js, true)/script>script typetext/ls-javascript idNProgress-script> NProgress.configure({ showSpinner: true }); NProgress.start(); $(#nprogress .bar).css({ background: #29d }); $(#nprogress .peg).css({ box-shadow: 0 0 10px #29d, 0 0 15px #29d }); $(#nprogress .spinner-icon).css({ border-top-color: #29d, border-left-color: #29d }); setTimeout(function() { NProgress.done(); $(.fade).removeClass(out); }, 800);/script>script typetext/ls-javascript idwindow-load> $(window).on(load, function() { // Post_Toc parent position fixed $(.post-toc-wrap).parent(.mdl-menu__container).css(position, fixed); }); /script>script typetext/ls-javascript idlazy-load> // Offer LazyLoad queue.offer(function(){ $(.lazy).lazyload({ effect : show }); }); // Start Queue $(document).ready(function(){ setInterval(function(){ queue.execNext(); },200); });/script>script> var copyrightNow new Date().getFullYear(); var textContent document.querySelector(spanyear) copyrightSince 2012; if (copyrightSince copyrightNow||copyrightSince 0000) { textContent.textContent copyrightNow } else { textContent.textContent copyrightSince + - + copyrightNow } (function(){ var scriptList document.querySelectorAll(scripttypetext/ls-javascript) for (var i 0; i scriptList.length; ++i) { var item scriptListi; lsloader.runInlineScript(item.id,item.id); } })()console.log(\n %c © Material Theme | Version: 1.5.6 | https://github.com/viosey/hexo-theme-material %c \n, color:#455a64;background:#e0e0e0;padding:5px 0;border-top-left-radius:5px;border-bottom-left-radius:5px;, color:#455a64;background:#e0e0e0;padding:5px 0;border-top-right-radius:5px;border-bottom-right-radius:5px;);/script>/main>/div>/body>/html>
View on OTX
|
View on ThreatMiner
Please enable JavaScript to view the
comments powered by Disqus.
Data with thanks to
AlienVault OTX
,
VirusTotal
,
Malwr
and
others
. [
Sitemap
]