簡單的Memory leak跟蹤(一) DEBUG_NEW方案

前言C++編碼中Memory Leak是一個很討厭卻又揮之不去的話題,最近由於引入了GC,為了驗證GC是否確實正常free了記憶體,於是先提供了一個記憶體配置的Tracer。與分配器不同,分配器主要解決的是兩個問題:1、效能,池式分配往往能提供比直接Virtual

發個神經,支援下正版遊戲

昨天在Steam入手了原THQ,現歸SEGA的《英雄連2》,99刀。英雄連是我很喜歡的遊戲,對戰場細節的細膩刻畫,同時又不輸魔獸RTS的策略性。但是1的時候沒有支援正版,所以到了2的時候,THQ完蛋了,如此優秀的一個遊戲居然被SEGA給低價收購……誠然,並非因為我個人沒有掏錢,而導致THQ的完蛋,但是至少或者可能也是幫凶的地位,所以沒有什麼好得意的。在西木倒之前,我沒有買他的正版,在漢堂倒之前,我沒有買他的正版,在THQ倒之前,我也沒有買它的正版,在諸如此類無數的給我青少年時代帶來快樂的公司倒閉

用Ogre做一個效率高又漂亮的水面

以前遊戲水面的做法都是用很多張圖的序列幀實現的紋理動畫,這種固定渲染管線的方式,在最低畫質的時候採用特別好,但是對於更進階別的畫質,就應該採用更好效果的水面。水面渲染,Ogre有個外掛程式叫Hydrax,效果很不錯,但是效率也低的很,沒任何實用價值。只好自己做一個。一個漂亮3D遊戲水面的,一般有水波類比,bump mapping,倒影,折射,菲捏爾效果,水下效果等,我準備做一些取捨,實現高效率。1)只保留倒影,去掉折射,菲捏爾效果,水下效果,因為2.5D遊戲,視角比較固定,也不需要深入到水下。2

簡單的Memory leak跟蹤(二)不想Tracer的場合

上篇文章我們大概介紹了一下DEBUG_NEW的原理和實現。上篇的TracerFileLn,我們用一個hash_map來提供了Trace功能。這個中間可能會存在一個潛在的陷阱,在進入下章前,我們需要把這個潛在的陷阱給滅了。如果重載C++原始的operator new,也加上Trace會如何?void* operator new(size_t InSize){    void* pPtr =

優秀的定位——在MSRA的實習感悟

最近常被一些師弟師妹問到,該怎樣學技術,怎樣克服困難,怎樣成為優秀等等問題,一時間真的不好回答。但我來到MSRA一個多月後,開始真正領略到什麼是優秀的定位。       一、優秀的人格品德     

簡單的Memory leak跟蹤(三) 方案2:Dbghelp

dbghelp這個方案比較複雜,速度也比較慢,不過用在Trace的場合也不算太糟糕。原理是,dbghelp.lib、dbghelp.h提供了一大堆擷取當前調用棧資訊(ESP、EBP),並通過這些調用棧,配合上相應模組的pdb檔案,得出當前的調用模組(dll)、調用函數、調用行和指令。具體的原理就不再廢話了,網上dbghelp的使用方面的文檔也很多,貼幾個參考:HOWTO: Dump Call Stack一個調試器的實現(五)偵錯符號使用DbgHelp擷取函數呼叫堆疊之inline

天龍八部二進位檔案 讀寫序列化類別

可以方便地實現天龍二進位的讀和寫 首先是序列化類別 #ifndef __CORE_SERIALIZER_UTIL_H__#define __CORE_SERIALIZER_UTIL_H__#include <OgreString.h>#include <OgreDataStream.h>using namespace Ogre;namespace Core{// Endian routinesextern void flipToLittleEndian(void*

強烈推薦《全景探秘遊戲設計藝術》

http://baike.baidu.com/view/3962153.htm這是這個公司的老大強烈推薦給我的,主策同學也強烈推薦,於是就買了一本,一開始沒當回事,看了第一章就忍不住要看第二章,看完兩遍以後,我的感覺也只剩下了一個“強烈推薦”。確實很不錯。對這裡面的一個概念特別的贊同,就是程式應該先“做玩具”。玩具做好了,就知道遊戲向哪個方向做了,玩具都沒出來,說一個東西多好玩是沒意義的。有時候好玩並不是一種玩法、一種技術、一種實現。好玩是基於一種玩法、一種技術、一種實現之上的逐次迭代,迭代細節

簡單的Memory leak跟蹤(四)參考代碼、組織和幾個問題的討論

參考代碼摘錄了相關的代碼,在小生的CSDN資來源站點裡,0分下載,連結如下。http://download.csdn.net/detail/noslopforever/4568056轉載請使用本資源串連。Tracer的變種Tracer稍加變化,就可以記錄更豐富的資訊。例如,首先不用hash了,直接使用一個list來記錄,free時不再從hash裡刪除了,list只會越變越大,然後記錄例如分配時間、銷毀時間、分配大小、線程等等等等資訊。這樣子就可以將整個應用程式的記憶體處理給監控下來。U3就使用了

Ogre渲染最佳化心得(四) — 正確地合并靜態實體

天龍的靜態實體合并方法是典型的反面教材.把所有物體都合并在成一個靜態實體了正確的做法應該是按材質合并.不然效率可能會適得其反 具體原因,和前面講的地形是一樣的, Ogre的一個靜態實體,是分region的,一個region類似於一個地形的tile 而裁剪都是以region為單位,和前面提到的地形一模一樣, 如果分材質裁剪多個靜態實體,就沒問題了 附上我簡單更改過的天龍的代碼, //----------------------------------------------------------

自醒錄(一)

現在這個項目可能算是自己第一次真正意義上“帶隊”吧,感覺確實跟之前一個人衝鋒陷陣有很大不同。到上周,項目的第一個程式版本應該已經算是結束了,有幾個遺留問題,但是應該無傷大雅。龍骨本身還是優雅的,船體上的漏洞總有補上的一天。由於只是一個程式功能版本,整體看起來還很弱小,而且現在還處於保密期,所以什麼的就先不放了,策劃和美術在接下來的幾個星期時間裡會把它變得更好。但那跟我們已經沒有關係了,接下來程式將面對的最大的問題就是總結和重構。團隊的每個人都很不錯,都很努力,實現的東西也超乎想象,很多以為要一兩

Max Plugin 綜合症

    近日,小女子好像患了max plugin綜合症,癥狀如下:     1、頭暈眼花,四肢麻木,精神不振,昏昏欲睡,大腦細胞以幾何級數的速度消亡;     2、一看到'max'就會有系統崩潰的預感;     3、由於max plugin的架構非常噁心,所以不斷害怕自己寫的程式也會那樣噁心;     4、在調試其他的程式時,如果那個程式啟動是很快速的話(至少比max快),心裡會有種莫名其妙的狂喜;     5、一看到*.chm檔案,就會有種永遠找不到自己想要的東西的預感;    

Ogre1.7地形淺析

早在1年前,就想好好研究一下Ogre1.7的新地形,但是各種原因導致現在我才下載了Ogre1.73的源碼進行研究。而且只能在業餘時間研究,Ogre的以前地形一直被人詬病,根本無法用於遊戲,於是Ogre愛好者只好自己實現一些地形外掛程式來解決這個問題,比如ETM之類。在國內,比較成功的就是天龍八部的地形系統。我對天龍的研究算是比較精通,他的地形效率上我也改進了不少,但是不能實現splatting和LOD的地形,始終不是一個令人滿意的地形。大概看了下新的地形,功能上遠遠超出了我的想象,很是興奮啊。主

忠告女人100條

忠告女人100條1、如果一個男人開始怠慢你,請你離開他。不懂得疼惜你的男人不要為之不舍,更不必繼續付出你的柔情和愛情。 2 、任何時候,不要為一個負心的男人傷心,女子更要懂得,傷心,最終傷的是自己的心。如果那個男人是無情的,你更是傷不到他的心,所以 ,收拾悲傷,好好生活。 3、永遠不要無休止的圍著你喜歡的那個男人轉,儘管你喜歡得他快要掏心掏肺的死掉了,也還是要學著給他空間,否則,你要小心纏得太緊勒死了他。

調查顯示:難相處的同事是職場壓力首要來源

美國一網站在全美範圍內調查發現———  工作量大、時間長、與家人相處時間少、假期短,這就是為什麼越來越多的人筋疲力盡的原因。  美國CareerBuilder.com網站近日通過在全美國範圍內的調查發現,超過一半的工作者稱他們壓力很大,77%的人感覺快被工作耗盡了。       什麼是罪魁禍首呢?人們往往責備同事,有16%的人認為難以相處的同事是壓力首要來源。其他來源是:不現實的工作量:15%;緊巴巴的期限:11%;最後方案:10%;專橫且愛幹預的老闆:9%。      

我進步了嗎?——反省離開MSRA後的幾個月的日子裡所做的事

   最近有個朋友跟我說,我的blog很久沒有更新了。是的,自從 實習完回家後,我就沒怎麼碰過blog了。   回到家後,我很無奈地簽了一間離家不遠,但據說還是挺有米的公司。而且是去他們的引擎組,能幹回本行,還算差不多。但是去報到的前一晚,我做惡夢了。夢見那個公司不是什麼好地方……   果然,這裡真的比我想象中的要糟糕很多。公司的管理,項目的水平,同事之間的處事問題,這任一項都讓我的心掉進穀底。在公司的這5個月裡,我做了些什麼呢?說白了,就是畫個四邊形,貼個紋理。別看這簡單啊——我都覺得很簡單,

Dev控制項使用學習

Dev做的很華麗,不過也帶來了資源的消耗。如果在資源和功能中選,我寧可選擇功能。當然Dev的控制項還是很好用的,對很多控制項都進行了拓展,功能很強大。現在dev的破解還是很多的!CSDN下載破解工具。1. BarManager    實現了菜單的管理2. RibbonControl   Office風格菜單3. DockManager    實現了浮動控制項4. NavBarControl   實現了Outlook樣式5. GridControl  

在MSRA的實習故事

       轉眼間我已經在MSRA做一名VS(Visiting student)快三個月。回想起來,熬過這三個月,真的不是容易的事情,但我卻是捨不得離開的。      

沒那麼簡單,沒那麼困難

10年前就總是口頭上掛著說要去弄linux下的gcc編譯,不幸這10年接觸的項目都跟linux無緣,今天終於有機會折騰一下gcc……最大的感覺,gcc對文法的檢查真是嚴格!vc各种放過我的地方,gcc真是一個個地得理不饒人。比如下面的菱形繼承,vc就放過我了,gcc死也不放,繞也繞不過去,真氣人:class A{};class B : public A{};class C : public A{};class Foo : public A , public B , public C{};

小矮人們的勝利

小矮人們勝利了,勝利的法寶就是——知識通過有效管理,最終將變成生產力   在古希臘時期的塞浦路斯,曾經有一座城堡裡關著一群小矮人。傳說他們是因為受到了可怕咒語的詛咒,而被關到這個與世隔絕的地方。他們找不到任何人可以求助,沒有糧食,沒有水,七個小矮人越來越絕望。   小矮人們沒有想到,這是神靈對他們的考驗,關於團結、智慧、知識、合作的考驗。   神靈希望經過這次考驗,小矮人們能悟出以下道理:   資訊不代表知識。   分享、溝湧與行動是將知識轉化為成果的關鍵。

總頁數: 61357 1 .... 18527 18528 18529 18530 18531 .... 61357 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.