Hur kan man använda lågnivågrafik i Java (Typ kopiera till videominne)
Lågnivågrafik
4 svar · 345 visningar · startad av nitro2k01
Typ inte, är jag rätt säker på. Till och med i C som är ett språk som klarar mycket måste du gå över till assembler för att snacka direkt med videominnet. Och Java är ju långt ifrån samma nivå som C.
Java använder man när man vill göra program som ska gå att köra på flera olika operativsystem/processorer. Då faller det sig naturligt att man inte kan göra avancerade saker eftersom det vore att anpassa sig till en särskild processor/operativsystem, och det är ju just det man inte vill när man använder Java.
C/Assembler använder man när man vill göra program som är anpassade/optimerade för en viss sorts dator, och då har du naturligtvis betydligt större koll på allt.
Men jag kan inte Java.
Jag tycker ändå att det bör finnas något sätt att kopiera en minnesbuffer (T ex en byte-Array) till grafikminnet.
Kanske kan du på nåt sätt använda kopplingen mellan Java och nativ kod (JNI)
http://java.sun.com/docs/books/tutorial/native1.1/concepts/index.html
Fast då är det ju inte Java direkt, utan C/C++ och kanske inbäddad asm. Men du kan anropa dessa klasser med Java.
Lite långsökt kanske. Har aldrig pillat med JNI.
Det finns en klass som heter VolatileImage, som är mer kompis med hårdvaran än vad de vanliga klasserna är. Den är något snabbare än de vanliga grafikklasserna, exakt hur mycket kan jag inte säga då jag bara använt den tillsammans med rätt ooptimerad kod som tuggade ganska mycket siffror i andra syften också :) Jag vet inte om den gör dig gladare, men så får det vara.
http://java.sun.com/j2se/1.4.2/docs/api/java/awt/image/VolatileImage.html