I have filed an RFE <https://bugs.openjdk.java.net/browse/JDK-8133998>.
Alan > On Aug 18, 2015, at 9:58 AM, Sergey Bylokhov <sergey.bylok...@oracle.com> > wrote: > > This is 2d related question (cc 2d-dev). >> From: Alan Snyder < <mailto:javali...@cbfiddle.com>javali...@cbfiddle.com >> <mailto:javali...@cbfiddle.com>> >> Subject: <AWT Dev> creating images using native code >> Date: August 11, 2015 at 5:36:55 PM PDT >> To: awt-...@openjdk.java.net <mailto:awt-...@openjdk.java.net> >> >> I am currently creating images with data provided by native code by >> capturing the data in an int array then using that array to construct a >> DataBufferInt which is used to create a WritableRaster which is used to >> create a BufferedImage. >> >> That seems to work fine, except that looking at the code it appears that the >> buffer is considered untrackable, which sounds like a bad thing. Does that >> in fact prevent caching the image in a GPU, for example? > Yes you are right, because in this case we cannot be sure when the data > inside the raster is changed, this can occur for example when we copy this > data from/to gpu. > >> >> If so, is there a good way to create a cacheable image? > The public way is to draw the image once again to another one which will be > cached instead. > >> >> The solutions I have found so far all wind up processing the pixels one at a >> time at some point, as far as I can tell, which should not be necessary. >> >> I’m wondering why there is no way to simply declare that the buffer will not >> change in the future. >> >> Alan >> > > > > -- > Best regards, Sergey.