Heresy's profile[Heresy' Space]PhotosBlogListsMore ![]() | Help |
|
4/29/2008 感覺虛掉的 3D Mark Vantage…
而自從 3D Mark 06 推出後(應該是 2006 年一月?),也很久沒有推出新版本了…而最新的 3D Mark Vantage,也終於在數次延遲、眾所期待下,於昨天推出了! 而第一件事呢,就先來看他的系統需求吧~
看完後,最討厭的一點,大概就是「Vista Only」吧? 由於微軟的策略,Direct X 10 只能在 Windows Vista 上使用,不能在 Windows XP 上用;這也導致了僅為 Direct X 10 設計的 Vantage 也僅能在 Vista 上執行了… 這次在 Vantage 中,根據不同的狀況,他提供了四種不同的預設組態:
不同設定下的差異,可以參考 benchzone 的《FutureMark's 3D Mark Vantage Review》一文中,第三頁的抓圖。 而這次的測試,分成 Jane Nash、New Calico、CPU Test 1 - AI、CPU Test 2 - Physics 四項。個別主要測什麼呢?可以參考上文的第四頁,或者也可以參考對岸的簡體中文文章;比較特別的,應該是在這一代,已經把 PhysX 這種物理加速卡加入支援了~(話說…這東西有前途嗎?nVidia 以後不是打算用 CUDA 來做嗎?)在第四項測試時,如果有 PhysX 的話,是會影響到測試的~而在benchzone 的那篇,還有提供了測試時的影片,可以給不想安裝 Vantage 的人參考。 另外,Vantage 這次總共有四種版本:
有發現最討厭的一件事嗎?那就是免費版只能用一次!在下載安裝 Vantage 後,還必須要到 FutureMark 官網申請試用序號,才可以執行測試…這也大大的降低了免費版的可用性。 = = 接下來,直接講 Heresy 的感想吧~
Heresy 個人總覺得,FutureMark 好像藉由 Vantage 把以往 3DMark 系列做出來的聲譽毀了?當然啦~只是個人感覺,實際上狀況就不清楚了;只能說,這套 benchmark 程式,實在很難吸引 Heresy 去跑他… 全民捐電池,用心愛地球官方活動網址:http://www.fe-geant.com.tw/promotion.aspx?serial_no=210 活動時間是 4/16 到 7/15,只要用廢電池,就可以到愛買更換東西囉~ 基本上,一顆電池就可以換一點 Happy Go 點數。而如果不想換點數,也可以五顆電池換一顆心的電池、十顆電池換一株樹苗、廿顆電池換一支金頂兔~ 家裡有廢電池的,可以考慮去換囉!不過,Heresy 自己現在都用充電電池,好像沒東西可以去換就是了。 ^^" CUDA Volume Rendering [Part.2 程式流程]在前面 part.1 的部分,已經先做了一些簡單的介紹;接下來,開始看程式碼吧~這一部分,主要是看 volumeRender.cu 中 main function,並大概講一下 volume data 的前置處理。 在 main() 函式裡,主要分成幾個部分:
第一部分主要就是透過 cutil 的 cutGetCmdLineArgumenti() 這個函式,來處理 main() 的 argc 以及 argv。而這個程式是設計成可以指定檔案的檔名以及大小,例如:「-file=brain.raw -xsize=512 -ysize=512 -zsize=125」就是指定檔名為 brain.raw,x, y, z 三軸的大小依序為 512, 512, 125。
而第二部分則是先透過 cutFindFilePath() 去找出檔案完整的路徑,然後再透過 loadRawFile() 來讀取 RAW 資料成為一個 unsigned char 的陣列;這邊的 RAW 資料,原則上就是一張一張 2D 灰階圖組合成的單一檔案。接著,就是透過 initCuda(),來把讀取進來 uchar 陣列(本程式一開始就把 uchar 定義為 unsigned char,以下將以 uchar 沿用),轉換成 ray casting 需要的 3D Texture 了~ 接下來,就是直接看 initCuda() 這個函式了~這個函式裡做的事,主要包含了兩部分:
將 volume data 建立成 3D texture 的程式如下: // create 3D array
cudaChannelFormatDesc channelDesc = cudaCreateChannelDesc<uchar>();
CUDA_SAFE_CALL( cudaMalloc3DArray(&d_volumeArray, &channelDesc, volumeSize) );
// The sample does not work with pageable memory
// This is a known issue for beta that will be fixed for the public release
#define USE_PAGE_LOCKED_MEMORY 1
#if USE_PAGE_LOCKED_MEMORY
// copy to page-locked mem
cudaPitchedPtr pagelockedPtr;
pagelockedPtr.pitch = volumeSize.width*sizeof(uchar);
pagelockedPtr.xsize = volumeSize.width;
pagelockedPtr.ysize = volumeSize.height;
size_t size = volumeSize.width*volumeSize.height*volumeSize.depth*sizeof(uchar);
CUDA_SAFE_CALL( cudaMallocHost(&(pagelockedPtr.ptr), size) );
memcpy(pagelockedPtr.ptr, h_volume, size);
#endif
// copy data to 3D array
cudaMemcpy3DParms copyParams = {0};
#if USE_PAGE_LOCKED_MEMORY
copyParams.srcPtr = pagelockedPtr;
#else
copyParams.srcPtr = make_cudaPitchedPtr((void*)h_volume,
volumeSize.width*sizeof(uchar), volumeSize.width, volumeSize.height);
#endif
copyParams.dstArray = d_volumeArray;
copyParams.extent = volumeSize;
copyParams.kind = cudaMemcpyHostToDevice;
CUDA_SAFE_CALL( cudaMemcpy3D(©Params) );
// set texture parameters
tex.normalized = true; // access with normalized texture coordinates
tex.filterMode = cudaFilterModeLinear; // linear interpolation
tex.addressMode[0] = cudaAddressModeClamp; // wrap texture coordinates
tex.addressMode[1] = cudaAddressModeClamp;
// bind array to 3D texture
CUDA_SAFE_CALL(cudaBindTextureToArray(tex, d_volumeArray, channelDesc));
在這邊,讀進來的資料是 h_volume,他是一個 uchar 的陣列。而和 2D CUDA Array 時一樣,先透過一個 cudaChannelFormatDesc 來描述 cudaArray 的資料型別,然後再透過 cudaMalloc3DArray() 來建立一個大小為 volumeSize 的 3D cudaArray:d_volumeArray。 不過,在註解裡有寫,目前的 2.0 beta 版,還不能直接把一般的記憶體空間的資料,直接複製到 3D 的 cudaArray 裡;必須要先透過 cudaMallocHost() 宣告一個 page lock 的記憶體空間,並把 h_volume 的資料複製到這個 page lock 的變數 pagelockedPtr。然後再設定 cudaMemcpy3DParms,把資料用 cudaMemcpy3D() 複製到 d_volumeArray。比起來,是多了一個先轉成 page lock 變數的過程,不過這個問題在正式版發佈時,應該是會解決的掉的。 而把資料複製到 cudaArray 後,就是設定一下 3D texture 的參數,然後再透過 cudaBindTextureToArray(),把 cudaArray d_volumeArray bind 到 texture<uchar, 3, cudaReadModeNormalizedFloat> tex 了。 而在把 Volume 資料本身處裡完了之後,接下來還有一份額外的陣列。由於在醫學的 volume rendering 中,CT、MRI 這些資料都是灰階的;如果要用彩色來呈現、凸顯某些部位的話,大部分都是用一個 transfer function 來做色彩的對應。 在 initCuda() 這個函式中的後段,就是在處理這份資料。 // create transfer function texture
float4 transferFunc[] = {
{ 0.0, 0.0, 0.0, 0.0, },
{ 1.0, 0.0, 0.0, 1.0, },
{ 1.0, 0.5, 0.0, 1.0, },
{ 1.0, 1.0, 0.0, 1.0, },
{ 0.0, 1.0, 0.0, 1.0, },
{ 0.0, 1.0, 1.0, 1.0, },
{ 0.0, 0.0, 1.0, 1.0, },
{ 1.0, 0.0, 1.0, 1.0, },
{ 0.0, 0.0, 0.0, 0.0, },
};
cudaChannelFormatDesc channelDesc2 = cudaCreateChannelDesc<float4>();
cudaArray* d_transferFuncArray;
CUDA_SAFE_CALL(cudaMallocArray(
&d_transferFuncArray, &channelDesc2, sizeof(transferFunc)/sizeof(float4), 1));
CUDA_SAFE_CALL(cudaMemcpyToArray(
d_transferFuncArray, 0, 0, transferFunc, sizeof(transferFunc), cudaMemcpyHostToDevice));
transferTex.filterMode = cudaFilterModeLinear;
transferTex.normalized = true; // access with normalized texture coordinates
transferTex.addressMode[0] = cudaAddressModeClamp; // wrap texture coordinates
// Bind the array to the texture
CUDA_SAFE_CALL( cudaBindTextureToArray( transferTex, d_transferFuncArray, channelDesc2));
在這個範例中,他是先宣告一個 float4 的陣列 transferFunc,裡面算是有九個控制點,分別代表灰階值不同所要呈現的階段顏色(介於中間的值,會透過 texture 用線性內插來算)。而這邊他就是用一般的 1D cudaArray 來做,也就不多加介紹了;最後會拿來用的,就是已經 bind 好資料的 texture<float4, 1, cudaReadModeElementType> transferTex。
再來的第三部分,則是透過 glut 來建立 OpenGL 的環境。 // initialize GLUT callback functions
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE);
glutInitWindowSize(width, height);
glutCreateWindow("CUDA volume rendering");
glutDisplayFunc(display);
glutKeyboardFunc(keyboard);
glutMouseFunc(mouse);
glutMotionFunc(motion);
glutReshapeFunc(reshape);
glutIdleFunc(idle);
glewInit();
if (!glewIsSupported("GL_VERSION_2_0 GL_ARB_pixel_buffer_object")) {
fprintf(stderr, "Required OpenGL extensions missing.");
exit(-1);
}
前面兩行,是在起始化整個 OpenGL 的環境,而第三、四行則是在建立一個 width * height,標題為「CUDA volume rendering」的視窗。而之後的 glut*Func() 則是在設定不同的 callback function。而之後,則是做 glew 的起始化,並確認目前的 OpenGL 環境,是否有支援必要的 pixel buffer object。
而第四部分,就是在 initPixelBuffer() 這個函式中,建立用來當輸出結果的 pixel buffer object。 if (pbo) {
// delete old buffer
CUDA_SAFE_CALL(cudaGLUnregisterBufferObject(pbo));
glDeleteBuffersARB(1, &pbo);
}
// create pixel buffer object for display
glGenBuffersARB(1, &pbo);
glBindBufferARB(GL_PIXEL_UNPACK_BUFFER_ARB, pbo);
glBufferDataARB(GL_PIXEL_UNPACK_BUFFER_ARB, width*height*sizeof(GLubyte)*4, 0, GL_STREAM_DRAW_ARB);
glBindBufferARB(GL_PIXEL_UNPACK_BUFFER_ARB, 0);
CUDA_SAFE_CALL(cudaGLRegisterBufferObject(pbo));
// calculate new grid size
gridSize = dim3(iDivUp(width, blockSize.x), iDivUp(height, blockSize.y));
第一段的 if 是判斷 pbo 這個 buffer object(型別是 GLuint)是否已經被建立,如果有的話,就先把現有的刪除掉。而第二段就是透過 OpenGL 的函式,來建立大小為 width * height,每一點的資料是 4 個 GLubyte 的一塊 GL_PIXEL_UNPACK_BUFFER_ARB 了~ 而在 CUDA 的部分,則是需要透過 cudaGLRegisterBufferObject() 這個函式來註冊 pbo 這個 buffer object;如此,之後才能在 kernel 程式中存取透過 cudaGLMapBufferObject() 所取得的記憶體位址。 當使用完後,如果在 if 的區段中所做,除了必須要透過 OpenGL 的 glDeleteBuffersARB() 來把 buffer object 刪除外,在之前也需要使用 cudaGLUnegisterBufferObject() 來取消這份 buffer object 的註冊。
而在 main() 中最後的 glutMainLoop(),就是開始執行 OpenGL 的 main loop;之後,要顯示內容、控制程式,就是要靠之前設定的 callback function 囉~ 4/28/2008 遲疑不決這周末有個親戚要在高雄結婚了。好死不死,剛好和大學校友會衝到… 而 Heresy 是請了幾天假,想說早點去,晚點回來。但是呢,剩沒幾天了,Heresy 還是沒有決定要怎麼回去…是要第三次挑戰機車殺下去?還是要安穩點,坐火車呢?自己到現在,離出發也沒幾天了,還是沒能決定。 個性使然吧?總覺得,好像常常這樣。很多事情,總是覺得「到時候再說」,然後就遲遲未決,最後則是想辦法順其自然;而很多事情,也就這樣拖掉了。 自己也知道這樣其實不好。很多事情,其實根本沒有必要這樣遲疑,也沒必要這樣拖延。但是,自己還是沒辦法很快的,直接下決定;很多時候,甚至是用丟銅板的方法來決定… 當然,會用丟銅板這樣決定的事情,一定是不是很重要的啦~但是,也只是一個無法做決定的具現了… 4/26/2008 新竹市 玻璃工藝博物館
而整個園區的配置,可以參考這張導覽圖。基本上,入口是很顯眼的「築夢仙橋」(右邊的照片),而過了橋後,就是一個廣場。廣場的後方,有一座簡單的城堡造型的建築;不過,當下是被舞台遮住了許多,變得很不顯眼。而在廣場旁,還有一個鐵管搭造的「南瓜馬車」。 除了「玻璃工藝博物館」 本身,其他玻璃工藝博物館的建築,還有「玻璃工坊」、「玻璃產業行銷館」、「美人魚館」、「玻璃藝術街」(指的應該是玫瑰花館、杜鵑花館、茶花館)等。而和玻璃沒關係的,還有「風城願景館」、「姊妹市館」等。此外,新竹動物園、孔廟也都在這一帶。 而玻璃工藝博物館要進去,是要購買門票的~所以呢…Heresy 理所當然的沒有進去了。博物館裡面值不值得買票進去?Heresy 就不知道了~ ^^" 因此,接下來,就是這一帶外部的照片了~
在九曲橋一帶,人還滿多的~有一群人在這裡學吉他、也有人在橋上餵魚;感覺上,應該是不少人假日來這兒休憩。 而由於沒有進博物館裡,所以逛一圈要花的時間並不多 ^^"
4/24/2008 PhotoShop Plug-in Filter CUDA 版來自 nVidia 論壇的公告:Beta Photoshop CS3 Plug-in filters 重點就是:nVidia 釋出了第一個 CUDA 的 PhotoShop plun-in 的 beta 版! 相關資訊,主要在他的文件中:http://developer.download.nvidia.com/compute/cuda/Photoshop/CUDAFilters4.pdf
他不但提供了編譯好的 PhotoShop filter 的 8BF 檔案,也提供 Source code! 如此一來,應該也可以成為一般人想要用 CUDA 寫 PhotoShop filter 的一個參考範本了~ 而雖然他是寫 CS3 版,但是 Heresy 這邊用 PhotoShop CS 來做試驗,也是可以使用的!不過,由於既是 Beta 又只是 Demo,其實也沒選項可以調,就是按下去就執行就是了。 ^^" 做了一些簡單的測試,原圖是: 結果:
CUDA Volume Rendering [Part.1 簡介]
關於 Volume Rendering 這項技術,可以先去參考維基百科的說明:「立體渲染」。不過還是大概提一下,Volume Rendering 實際上在醫學方面其實相當普遍;主要是一般的斷層掃描都是一張一張的平面影像,把這些平面影像按照順序堆疊起來,就會變成一個 3D 的影像資料(也就是所謂的 Volume data)。Volume Rendering 就是一種用來繪製這種 3D 影像資料的技術。(應用參考) 而由於傳統的電腦圖學都是以多邊形的方式來建構、繪製 3D 場景;這點和呈現 Volume 所需要的技術是不同的!所以 Volume Rendering 沒辦法直接使用傳統的電腦圖學方法來呈現。 而一般來說,常見的 Volume Rendering 有兩種概念:第一種是將 Volume data 建立出多邊形的資料,然後再用這些資料還繪圖;第二種則是直接拿整個 Volume 資料去畫,這種方法一般叫做 Direct Volume Render。 在 Direct Volume Rendering 又有數種不同的技術,下面列舉常見的兩種:
而在 CUDA 2.0 的 SDK 中所提供的 Volume Rendering 範例(專案名稱就是 volumeRender,檔案在 C:\Program Files\NVIDIA Corporation\NVIDIA CUDA SDK\projects\volumeRender),就是 ray casting 的方法;不過,他藉由 CUDA 這套 SDK,可以發揮 nVidia GPU 的大量平行化的好處,來做 GPU 的 ray casting。 程式的基本概念,是把 Volume 的資料讀到電腦的主記憶體後,當成 3D Texture 來 bind 到 device memory 中,然後再透過 CUDA kernel 來透過存取 3D texture,進行 ray casting 的計算。而運算的結果,會直接當成 OpenGL 的 Buffer Object,直接畫出來;如此也避免了必須要先把結果由 device memory 複製回 host memory,再送到 OpenGL render 的傳輸時間。 他的程式檔有兩個:
在 volumeRender.cu 中的 function 列表如下:
而在 volumeRender_kernel.cu 中,則是:
而更進一部的內容,請參考下一篇《CUDA Volume Rendering [Part.2]》。 4/22/2008 トライアングラー《トライアングラー》這首歌,也是本季新番之一的《Macross Frontier》的主題曲。《Macross Frontier》也算是這季裡,Heresy 比較期待的動畫之一了! 而以往的《Macross》(台灣翻譯應該是《超時空要塞》)系列,也都有不少好聽的歌。這次的主題曲是坂本真綾唱的,《トライアングラー》就是 Triangular,也就是三角關係的意思。實際上,坂本真綾的歌其實有不少都相當好聽,像之前的《Tune the Rainbow》也是一手非常好聽的歌。
歌詞來自:http://bbs.liouming.net/viewthread.php?tid=30996 4/21/2008 CUDA 2.0 Beta for Windows and Linuxㄟ~因為前幾天沒有注意,所以晚了幾天了。 ^^" 而在隔天的 4/18,nVidia 也立刻推出了 Red Hat Enterprise Linux 4/5 的 CUDA Linux beta 版本~根據之前的說法,在正式版之前,應該只會有這些版本了。 同時,在 Windows 版的部分,也把 SDK 做了一個小更新,從原來的 beta20a 變成了 beta20b;據說主要是修正了 threadMigration 在 64 位元下命名錯誤的問題(在 release note 裡沒有註明… @@)。而除了 SDK 外,Driver 和 toolkit 看來是都沒有改變了~ 下載連結:
4/20/2008 梁靜茹:彩虹好久沒有聽中文歌了… 昨天回台北,沒事打開電視,剛好聽到歌唱比賽,有人在唱梁靜茹的《彩虹》,才又想起,其實 Heresy 還滿喜歡梁靜茹的歌的!而彩虹,也是在最喜歡的之中。 想聽看看這首歌的話,可以到 Youtube 找。
4/17/2008 CUDA Beta 2.0 for Windows & Vista之前 nVidia 在官方論壇就有預告過,即將推出 CUDA 2.0 的 beta 版了~而今天,也確實有公布 CUDA Beta for Windows 版的下載了!詳細資料,可以在他的官方論壇找到。
而文章中主要的重點,大致有:
而硬體支援的部分:
而實際在安裝 CUDA 2.0 Beta 時,必須要把舊版移除掉,而顯示卡驅動程式也要換成專用的 174.55。而程式開發的文件部分,在 doc 目錄下(預設是 C:\CUDA\doc),除了新的《Programming Guide 2.0 Beta》,還多了 PDF 版和 CHM 版的《CudaReferenceManual》這份參考手冊,可以用來查詢函式的內容(包含 CUFFT、CUBLAS)。此外,也多了一份《CUBLAS Library 2.0》的說明文件和範例。 而在程式編寫上比較大的新功能,一如上次所提及的,應該就 3D Texture 的支援了~在 CUDA Array 的 texture 方面,維度正式支援 3D 了!也因此,也多了 tex3D() 這個函式。 關於 double…雖然在內建的型別有多了一個「double2」,但是實際上,卻還是沒有多在 Programming Guide 中多加著墨;因此,目前應該還是只能視為不支援了。 在範例程式的部分,2.0Beta 有總共 58 個專案;新增了 dct8x8, quasirandomGenerator, recursiveGaussian, simpleD3D9Texture, simpleTexture3D, threadMigration, and volumeRender 這七個範例。 其中…volumeRender 的部分應該就是用 GPU 來做 volume 的 ray-casting 了…某種程度上,是 Heresy 最想用 CUDA 來做的事之一;而他的 sample code 之短,也還真是讓 Heresy 有點傻眼了。 orz 而整體來說,以目前的 2.0 beta 來說,CUDA 算是大改版嗎?以開發程式的觀點來看,Heresy 覺得不太像…1.0 到 1.1 主要是增加了 async 和 stream;而 1.1 到 2.0,看來也只增加了 3D Texture?當然,如果就能支援 Vista 來說,算是改善很多啦~不過,總覺得還不到版號大躍進的地步?希望 CUDA 2.0 正式 release 的時候,能多一些更實用的功能了。(Heresy 希望 texture 可以不用宣告在 global scope 啊…) 4/16/2008 利用 GPU 加速的 H.264 Encoder!
主要呢,就是「Elemental Technologies」這家公司,和 nVidia 共同發表了一系列利用 CUDA 開發的 GPGPU(General-Purpose computation on GPUs) 版本 H.264 壓縮編碼軟體:RapiHD。 他號稱將兩小時的 1280x720 的 MPEG2 影像,壓縮成 H.264 的格式,透過 RapiHD 使用 nVidia GeForce 8800GTS 512MB 只要 23 分鐘;而使用 Intel Core 2 Quad Extreme 3.0GHz 則需要四小時五十三分!而使用 Core 2 Duo 1.66GHz 甚至區要七個小時以上。相較之下,使用 8800GTS 真的是快了非常、非常、非常的多!(話說,Heresy 還不知道他的 18 被是怎麼算出來的?)不過當然,相對的,你必須要擁有一張 nVidia GeForce 8 系列以上的顯示卡,才能享受到這樣的快感了~ ^^" 實際上,影像的壓縮、解壓縮應該是最適合大量平行化、最有可能適合給 GPU 來做的;而目前,看來也被證實了~在解壓縮方面,nVidia 自身已經有針對 HD-DVD(已陣亡)和 BD 來做 GPU 加速的 PureVideo 了;而一直沒看到的壓縮編碼,也有了曙光了! 但是這是否代表了 GPGPU 的技術將走入一般使用市場呢?其實不見得。因為他也不是第一套有使用 GPGPU 的軟體。像大家常用的 Acrobat Reader 8 就有內建透過 GPU 來增加頁面呈現效果的功能(參考);Premiere Pro 也有類似的加速功能(參考)。不過像 Acrobat 的 GPU 加速,一般人可能覺得有開沒開差不多吧? XD 不過,還是希望這類透過 GPU 來加速的應用,能越來越多。畢竟,一般來說,顯示卡在某種程度上已經可以算是整台電腦最耗電、最熱的元件了!如果能透過各種方式,讓他能在更多的場合,發揮他的能力。 關於 CUDA,可以參考 Heresy 的《nVidia CUDA 學習紀錄》。 ASUS P5K Pro BIOS 1001 溫度誤判?前一陣子,華碩推出了 ASUS P5K Pro 的新版 BIOS,1001;主要是更新對於新的 CPU 的支援吧~ 不過,Heresy 更新後,卻發生了些怪問題。 把 BIOS 更新到 1001 後,使用時 CPU 的溫度好像會誤判?Heresy 發現就算沒在做什麼事,CPU 溫度還是飆到 5x 度!而 CPU 的風扇轉數也因此爆高…而就算 Heresy 用大電風扇對著吹也沒用。後來關機去摸 CPU 散熱器,根本沒有熱的感覺。搞了好一陣子,才決定把 BIOS 刷回舊版。 而把 BIOS 刷回舊的 0904 後,溫度又瞬間變回 3x 度了…而且,是在什麼都沒做的情形下。 因此,也大致確認是主機板 BIOS 的誤判了~ 而後來去函華碩,才知道原來這版 BIOS 是 Beta 版…但是在 Heresy 連進去的網頁,卻完全沒有註明?華碩客服是說要點上方的「BIOS」進去,才會看到該標示;Heresy 總覺得這樣的標示很怪… 4/13/2008 人數破二十萬了!2007/10/18,人數成功突破十萬大關。而過了半年左右,現在又累積到下一個十萬,變成廿萬了! 會飆這麼快,其實真的遠遠超過 Heresy 自己的估計。主要還是感謝各大搜尋引擎啦~ XD 而由於前一陣子寫的 CUDA 系列文章,看來似乎讓 Heresy 在這方面算是個名人了?(笑) 總之,Heresy's Space 看來發展已經遠遠超出一開始的預想了…本來只是想自己寫寫東西,順便是記錄自己的感想,或是貼一些自己覺得好玩的東西;目前的情形,看來某種程度上,應該已經超過了。 不過,不管如何,也還是按照 Heresy 自己的形式傳統:順其自然吧! 人懶…算是倦怠期嗎?總覺得,最近真的做什麼事都提不起勁…(雖然好像好一段時間了…) 最近,Heresy 自己感覺在某方面,如果肯多花點時間,似乎可以有一些發展? 人懶到什麼程度?現在居然連動話都懶得看了… orz 不知道,什麼時候才會有衝勁? 大樓間的風力發電機原文來自《巴林世貿中心發電風扇全面啟用》
在 BBC 的《Skyscraper powered by wind》這則新聞中,還有提供實際運轉的影片~ 理論上,這樣的確是一個不錯的設計!透過大樓本身的形狀來集風,同時也利用大樓的結構,把風力發電機架起來。但是,不知道風切聲的問題解決了沒? 4/12/2008 ef - the latter tale.動畫版的《ef - a tale of memories》已經結束好一段時間了。原著遊戲《ef - a fairy tale of the two》的第一部《ef - the first tale.》也 KO 好一陣子了。 不過,不管是遊戲或是動畫,給 Heresy 的感動都滿大的。他的音樂,也非常好聽~Heresy 也一連串貼過《euphoric field》、《I'm here》和《刻む景色》三首歌;遊戲的《悠久の翼》更是 Heresy 列為神曲級的。 而第二部遊戲,也終於有消息了!《ef - the latter tale.》將在 5 月 30 號推出!原則上,第一部是廣野和宮子、景和堤這兩對戀人的故事;而第二部,則是動畫中已經有的千尋和連治,以及動畫中沒有描述的羽山和久瀨修一的故事了~當然,另一個重點就是優子的故事,不知道會不會完全鋪陳出來了~ 而目前官方網站已經有提供 demo 影片了!
不過說實話,新曲《emotional flutter》感覺上…不是 Heresy 一聽就喜歡的類型,不知道會不會久一點變順耳就不知道了… 4/10/2008 Windows XP 不死! 至少沒這麼快死…目前這一代的 Windows Vista 已經推出好一段時間了,英文版的 Service Pack1 也已經推出了(中文版還沒),但是 Vista 對很多人來說,還是不是很有吸引力;至今,普及率…主要應該是靠隨套裝電腦出貨的隨機版衝的吧? Heresy 對他始終興趣缺缺。原因很簡單,除了介面華麗(Heresy 甚至不覺得好看,Heresy 自己的 Windows XP,都還是用傳統介面)外, 並沒有什麼新功能是真得吸引 Heresy 的…推出前開的一堆新功能,都因為時程上來不及,而沒有辦法在 Vista 中實現;唯一比較有可能有用的,大概也只是被綁死在 Vista 上的 DirectX 10 吧? 而微軟為了推動世代轉換,也不斷有消息放出說要終止 Windows XP 的技術支援。不過,看來是沒這麼快了~ 來源:http://chinese.engadget.com/2008/04/10/microsoft-about-windows-xp-windows-7/ 重點只有兩個,引新聞稿文字如下:
跳轉後可看新聞稿更詳細的雜七雜八廢話。個人想說一個心得,那就是:我怎麼可能相信Windows 7測試版及上市日期目前尚未確定?XD
一般桌上型電腦及筆記型電腦安裝的Windows XP作業系統,零售版本及OEM版將於2008年6月30日停止銷售與出貨,COEM(隨機版)將於2009年1月31日停止出貨,(詳見附表一)。 但Windows XP的技術支援服務並不會在2008年6月30日終止,依照微軟產品技術支援週期原則,微軟將持續免費提供主流支援至2009年4月14日,內容包含: 事件支援(免費事件支援、付費事件支援、計時付費支援、保固聲明支援)、安全性更新支援、可要求非安全性產品程式碼修補程式,讓使用者可以隨時更新。微軟公司特別提醒使用者必須安裝最新的Service Pack,如此才可持續享有主流支援服務。 至2009年4月14日後,Windows XP將從主流支援轉換為延伸支援,微軟將持續免費提供安全性修補與5年的Windows XP付費支援,有效期限至2014年4月8日,主要內容包含: 付費支援、免費的安全性更新支援、非安全性相關產品程式碼修補程式支援(然必須付費註冊「延伸產品程式碼修補程式支援方案」且可能需針對每一產品程式碼修補程式付費)。 此外,微軟將保留部分原來的團隊,負責隨時處理使用者所遇到的問題,一旦發生重大的安全性威脅,仍會推出修補程式,但不再提供保固支援、設計變更或是新功能等服務。關於Windows XP產品技術支援週期的「主流支援」和「延伸支援」之完整定義與支援類型清單,詳細情形可參考此連結。 莫名其妙的電腦…前幾天有提過一下,電腦怪怪的問題。 主要的狀況是,電腦有的時候會莫名其妙的整台停住;畫面就停在那,但是不再有反應。不過比較有趣的是,聲音的部分,不知道是不是在音效卡的 buffer 裡?還會繼續放一小段時間,才會中斷。 總之,就是完全沒反應!研判應該也不是過熱,因為 CPU 不到 40 度、北橋沒超過 55 度,顯示卡也在 70 度以下…而且,有的時候連不是跑 3D,光看網頁也會死當。 後來開始想辦法排除,發現用 Everest 作穩定性測試會當,但是個別測試 CPU 或記憶體又不會當…最後只好把零件拆下來試試看。結果,沒想到把顯示卡、硬碟、記憶體都拆下來,又再裝回去後,感覺就都好了;禮拜天貼完文章後,開始拆機測試,到現在都沒有發生同樣的狀況過。 不知道該把這問題歸給誰了?之前都沒動過硬體,也都好好的,忽然就這樣不穩了…難不成是靜電或是接觸不良嗎?還是是最近濕氣太重嗎? 這個大概又是一個無解的問題了… 不過,也讓 Heresy 想到,現在的新電腦有的時候要開機按電源鈕,沒辦法按一下就有反應,需要壓一小段時間,才能把電腦開起來,不知道有沒有關係?也不知道是為什麼會這樣?有人知道嗎? @@ |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|