我一直在尋找基於Java的視頻播放器,不,我不需要它。看看是否有多少Java視頻播放器。令我大吃一驚的是,我沒有發現。至少沒有任何流行的,如VLC,WMP等。我認爲這些球員有一些Java替代品。基於Java的視頻播放器能夠足夠快嗎?
很明顯,我發現許多聲明說Java對玩家來說太慢了。從我讀到的內容可以分爲兩個子問題:
首先,關於Java beeing的腳本編寫太慢,不適合視頻解碼。但是自從我開始使用Java之後,我一直認爲它的速度其實非常好。當溫暖的JVM幾乎和C++寫的程序一樣時,我發現了很多基準。非常好。我認爲這是因爲這些基準算法很小,並且是重複的,所以JVM準備了那些代碼並從那裏快速地完成。也許在更大的程序中,由於動態編譯,它實際上會慢得多。我真的不知道。但是由於Java被JVM編譯成本地代碼,所以它的速度真的很重要,它是多少代碼和預編譯速度,對嗎?當然還有其他的不同之處,但最大的一個就是真正的編輯。
第二,人們寫道,他們有用C++編寫的視頻解碼器,並通過JNI獲取圖片數據。但他們說Java太慢了,甚至無法將這些30 FPS甚至是HD Ready圖像進行繪製。但爲什麼?我一直認爲JVM使用可用的最快方法在OS中獲得它的窗口,並且在內部操縱它的內容。如果我在JVM被「加熱」時按下Java足夠快(意味着C++),那麼顯示圖像的問題在哪裏?所有的JVM在這種情況下都要寫數組到OS特定的顯示輸出,對吧?
那麼,Java真的很慢,還是我錯過了什麼?全速(或幾乎全速)的視頻播放器是用純Java編寫的嗎?如果不是,爲什麼?謝謝。