我正在創建一個基於複雜數學表達式生成隨機圖像的Android應用程序。像素的顏色取決於其位置和所選表達式。 (我看到很多iPhone應用程序產生「隨機藝術」,但是相對較少的Android應用程序)。如何使用SurfaceView繪製單個複雜圖像
需要5到15秒才能在Nexus S dev手機上繪製圖像。
爲了保持UI線程的響應,這看起來像SurfaceView
類的目的。幾乎所有SurfaceView
的例子都涉及動畫,而不是一個複雜的圖像。一旦圖像完成繪製/渲染,我不會改變它,直到用戶
因此,是SurfaceView
正確的組件使用?如果是這樣,當完成渲染完成後,是否可以從SurfaceView
或其內部線程獲取回調?回調是這樣的,我知道用低分辨率圖像藝術的低分辨率和塊狀版本切換可以嗎?
是否有替代SurfaceView
的更適合單張圖像的複雜渲染。 (不是動畫)
乾杯!
爲什麼不使用openGl? – slayton 2012-03-08 19:05:46
在普通SurfaceView中使用openGL(我認爲是GLSurfaceView)有什麼優勢? – 2012-03-08 19:11:35
因爲減速並非在渲染中,而是在計算中。將任意數學計算卸載到GLSL着色器語言是...挑戰:)。使用NDK路線或使用RenderScript的Compute API可能是更好的選擇。 – 2012-03-08 19:13:49