2012-09-10 68 views
1

我目前正在編寫和應用程序來測試人類視覺。隨着該計劃目前的立場,我使用VB.Net和DirectX 9在屏幕上按需提供刺激。根據需要,我只是表示包含代碼來繪製激勵並具有device.present調用的renderscene方法不存在於一個單獨的線程中,該線程在任何時候都會一直繪製幀。我只需要調用renderscene方法,無論何時我需要更改不超過一秒的刺激,通常甚至更少。這被認爲是不好的形式?我在計算如何處理DeviceLostExceptions時遇到了一些麻煩(例如,在alt-Tab或ctrl-alt-delete之後),因爲我發現的大多數示例代碼都假定程序正在不斷渲染場景。注意:我知道託管代碼的DX已折舊,並計劃在我有機會時用slimdx重寫顯示代碼。可以使用directX進行按需渲染,而不是在循環中持續渲染

回答

1

這種方法本身沒有任何問題。

這很簡單,因爲DirectX是通常是用於遊戲,而在遊戲中,你通常需要不斷地重繪場景,儘可能快,不管是什麼。 (事物通常總是在屏幕上移動,並且遊戲必須儘可能快地響應)。

但是,如果你不需要這種響應能力,並且如果你的場景大多是靜態的,那麼只有當渲染的內容發生變化時,渲染沒有任何問題。