Download Jar. Libraryless. Click here for Pure Java version (4872L/27K).
p-awt { new GraphicsTest; } sclass GraphicsTest extends JFrame { GraphicsConfiguration gc = GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice().getDefaultConfiguration(); BufferCapabilities bufferCapabilities; BufferStrategy bufferStrategy; int y = 0; int delta = 1; public GraphicsTest() { setTitle("Hardware Acceleration Test"); setSize(500, 300); setLocationRelativeTo(null); setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); setVisible(true); createBufferStrategy(2); bufferStrategy = getBufferStrategy(); bufferCapabilities = gc.getBufferCapabilities(); new AnimationThread().start(); } class AnimationThread extends Thread { @Override public void run() { while(true) { Graphics2D g2 = null; try { g2 = (Graphics2D) bufferStrategy.getDrawGraphics(); draw(g2); } finally { if(g2 != null) g2.dispose(); } bufferStrategy.show(); try { // CHANGE HERE, DONT SLEEP //Thread.sleep(16); } catch(Exception err) { err.printStackTrace(); } } } } public void draw(Graphics2D g2) { if(!bufferCapabilities.isPageFlipping() || bufferCapabilities.isFullScreenRequired()) { g2.setColor(Color.black); g2.fillRect(0, 0, getWidth(), getHeight()); g2.setColor(Color.red); g2.drawString("Hardware Acceleration is not supported...", 100, 100); g2.setColor(Color.white); g2.drawString("Page Flipping: " + (bufferCapabilities.isPageFlipping() ? "Available" : "Not Supported"), 100, 130); g2.drawString("Full Screen Required: " + (bufferCapabilities.isFullScreenRequired() ? "Required" : "Not Required"), 100, 160); g2.drawString("Multiple Buffer Capable: " + (bufferCapabilities.isMultiBufferAvailable() ? "Yes" : "No"), 100, 190); } else { g2.setColor(Color.black); g2.fillRect(0, 0, getWidth(), getHeight()); g2.setColor(Color.white); g2.drawString("Hardware Acceleration is Working...", 100, 100); g2.drawString("Page Flipping: " + (bufferCapabilities.isPageFlipping() ? "Available" : "Not Supported"), 100, 130); g2.drawString("Full Screen Required: " + (bufferCapabilities.isFullScreenRequired() ? "Required" : "Not Required"), 100, 160); g2.drawString("Multiple Buffer Capable: " + (bufferCapabilities.isMultiBufferAvailable() ? "Yes" : "No"), 100, 190); } y += delta; if((y + 50) > getHeight() || y < 0) { delta *= -1; } g2.setColor(Color.blue); g2.fillRect(getWidth()-50, y, 50, 50); } }
download show line numbers debug dex old transpilations
Travelled to 2 computer(s): bhatertpkbcr, mqqgnosmbjvj
No comments. add comment
Snippet ID: | #1033789 |
Snippet name: | Hardware Acceleration Test |
Eternal ID of this version: | #1033789/1 |
Text MD5: | 3a2a5dea2fea3e35c94b088cfd3f6381 |
Transpilation MD5: | 9274614e8cbf9d1aaad7f637ba10f906 |
Author: | stefan |
Category: | javax / gui |
Type: | JavaX source code (desktop) |
Public (visible to everyone): | Yes |
Archived (hidden from active list): | No |
Created/modified: | 2022-01-04 21:59:07 |
Source code size: | 3066 bytes / 80 lines |
Pitched / IR pitched: | No / No |
Views / Downloads: | 295 / 897 |
Referenced in: | [show references] |