Powolny rysunek Java2D na zintegrowanej grafice

Pracuję nad prostą grą 2D, renderując za pomocą API Java2D. Zauważyłem, że kiedy próbuję rysować na zintegrowanej karcie graficznej, wydajność spada.

Przetestowałem tę grę zarówno na mojej głównej platformie z nowszym ATI Radeonem, jak i na moim 5-letnim laptopie, który ma również (niewiarygodnie przestarzały) Radeon. W obu przypadkach uzyskuję dobrą FPS, ale kiedy próbuję użyć mojej wbudowanej grafiki HD 4000 firmy Intel i5, indeksuje ona około 20 FPS.

Używam trybu Ekskluzywnego na pełnym ekranie.

W każdej chwili renderuję około 1000 obrazów jednocześnie.

Irytująco, gdy próbuję uzyskaćAvailableAcceleratedMemory (), po prostu zwraca -1 dla tej karty i wydaje się, że odmawia przyspieszenia jakichkolwiek obrazów.

Czy ktoś ma jakieś pomysły, jak rozwiązać ten problem?

Kod renderowania:

    Graphics g = bufferStrategy.getDrawGraphics();
    g.drawImage(img, x, y, img.getWidth(), img.getHeight(), null)
    g.dispose();
    bufferStrategy.show();

Kod ładowania obrazu:

    BufferedImage I = null;
    I = ImageIO.read(new File(currentFolder+imgPath));
    imgMap.put(imgIdentifier, I);

Obrazy są przechowywane w hashapie BufferedImages identyfikowanym przez ciągi, więc gdy jednostka musi rysować i obrazować, po prostu wyciąga ją z mapy i rysuje. W obecnym przypadku obiekty są głównie kafelkami podłogowymi i ściennymi, więc nigdy się nie zmieniają (a zatem nie muszą pobierać obrazu z mapy mieszającej inaczej niż za pierwszym razem).

EDIT - Włączyłem metodę MadProgrammer, ale nie zmieniła ona mojego FPS.

questionAnswers(1)

yourAnswerToTheQuestion