Hajime Hoshi
b8aa35373a
graphicscommand: Remove unneeded type conversion
2018-10-31 10:54:45 +09:00
seebs
74e204d952
graphics: Speed up DrawTriangles ( #723 )
...
DrawTriangles is expensive and slow because of massive memory
allocation and garbage collection costs. This patch moves from ~47TPS
on my laptop (with ~24k triangles) to 60TPS. The first part
is just allocating the right size of vertex buffer up front; that
got to about 55TPS. The second part replaces the frequent
allocations of []float32 in Vertex() calls with writing the
desired values into a provided destination slice.
Time spent in drawing triangles for 1,000 frames:
13.07s baseline
11.09s preallocate whole buffer to avoid resizing
6.13s use new PutVertex function
This might need some cleanup, but I think it's good evidence that
the design change is viable.
2018-10-31 10:53:17 +09:00
Hajime Hoshi
45017213a7
opengl: Unexport (Element)ArrayBufferSubData
2018-10-31 00:59:44 +09:00
Hajime Hoshi
5be08cac19
opengl: Unexport BindBuffer
2018-10-30 23:59:20 +09:00
Hajime Hoshi
23a832c0a7
opengl: Unexport consts
2018-10-30 22:41:05 +09:00
Hajime Hoshi
99594fe732
opengl: Remove type mode
2018-10-30 22:36:12 +09:00
Hajime Hoshi
b2b09ccec0
restorable: Avoid memory allocating when an entire image is cleared
2018-10-30 11:08:38 +09:00
Hajime Hoshi
bb0b8ca83b
opengl: Unexport (*Context).Reset()
2018-10-30 02:18:10 +09:00
Hajime Hoshi
ac7bf354a9
opengl: Unexport types
2018-10-30 02:13:51 +09:00
Hajime Hoshi
e4179aee37
opengl: Unexport functions
2018-10-30 01:50:30 +09:00
Hajime Hoshi
6b95a5140c
opengl: Move program.go and shader.go to opengl
2018-10-30 01:27:31 +09:00
Hajime Hoshi
ec92f61a3e
graphics: Misspelling
2018-10-29 02:05:59 +09:00
Hajime Hoshi
27ee54b008
graphics: Forbid using a subimage at DrawTriangles ( #727 )
2018-10-29 01:37:59 +09:00
Hajime Hoshi
6b02f0ae9e
graphicscommand: Move OrthoProjectionMatrix to opengl package
2018-10-29 01:08:51 +09:00
Hajime Hoshi
ce1c616f69
Merge graphics and graphicsutil
2018-10-28 23:03:06 +09:00
Hajime Hoshi
395b46d8da
graphicsutil: Remove dependency on graphicscommand
2018-10-28 23:00:10 +09:00
Hajime Hoshi
7767bcfdd8
graphicsutil: Better allocation of vertices
2018-10-28 22:54:36 +09:00
Hajime Hoshi
fde9fd2d0e
graphicsutil: Remove dependency on opengl
2018-10-28 22:01:59 +09:00
Hajime Hoshi
ff54d3b681
Move CompositeMode to graphics package
2018-10-28 21:49:47 +09:00
Hajime Hoshi
06f2052817
Add graphics package and move Filter to graphics
2018-10-28 20:25:52 +09:00
Hajime Hoshi
2da5192510
Rename graphics -> graphicscommand
2018-10-28 20:10:05 +09:00
Hajime Hoshi
3349a2c520
graphics: Add comments
2018-10-28 19:41:39 +09:00
Hajime Hoshi
781554ecb9
graphics: Refactoring
2018-10-28 19:35:01 +09:00
Hajime Hoshi
710f56531f
graphics: Experimental: (*image.Image).SubImage
...
Fixes #722
2018-10-28 02:19:14 +09:00
Hajime Hoshi
41877bba0b
graphics: Add image state check at DrawTriangles
2018-10-28 01:43:28 +09:00
Hajime Hoshi
170f0fcaa9
graphics: Refactoring
2018-10-28 01:39:58 +09:00
Hajime Hoshi
5f04f05cb1
graphics: Add comments
2018-10-26 03:29:20 +09:00
Hajime Hoshi
d3bd858aba
graphics: Bug fix: Mipmap was not invalidated at DrawTriangle
...
Fixes #725
2018-10-26 02:08:18 +09:00
Hajime Hoshi
8b82667df1
graphics: Bug fix: Violating edge pixels with linear filter
...
Fixes #724
2018-10-26 00:48:51 +09:00
Hajime Hoshi
58f4feda8d
graphics: Refactoring (preparing SubImage)
2018-10-25 12:48:24 +09:00
Hajime Hoshi
765af5a7af
gofmt -s -w
2018-10-25 12:47:27 +09:00
Hajime Hoshi
ce60f44490
graphics: Add (*mipmap).original()
2018-10-25 02:11:54 +09:00
Hajime Hoshi
15cad6ed9a
graphics: Rename shareableImages -> mipmap
2018-10-25 02:05:25 +09:00
Hajime Hoshi
022c40aa17
graphics: Move creating mipmap logic to shareableImages
2018-10-25 01:35:34 +09:00
Hajime Hoshi
4cd3e3ae30
Update go.mod/go.sum
2018-10-24 01:16:17 +09:00
Hajime Hoshi
7494b19dea
graphics: Refactoring: Add shareableImages struct
2018-10-24 01:09:59 +09:00
Hajime Hoshi
68199f85c9
docs: Update
2018-10-18 23:19:18 +09:00
Hajime Hoshi
057c16e4eb
Update go.mod
2018-10-18 23:16:40 +09:00
Hajime Hoshi
7cf85abb86
docs: Use transparent background at example iframes
2018-10-17 02:51:17 +09:00
Hajime Hoshi
6bc6c6674f
docs: Update
2018-10-16 00:47:29 +09:00
Hajime Hoshi
2c9a634752
Update version to 1.9.0-alpha
2018-10-16 00:19:04 +09:00
Hajime Hoshi
d14202ef7b
audio: Add Context.IsReady
...
Fixes #717
2018-10-16 00:02:19 +09:00
Hajime Hoshi
b6f7a0043c
examples/windowsize: Show DeviceScaleFactor
2018-10-14 19:15:26 +09:00
Hajime Hoshi
7e29a81177
ui: Refactoring
2018-10-14 18:28:27 +09:00
Hajime Hoshi
443e3ae3a4
examples/windowsize: Bug fix: Strange delta of window size
2018-10-14 17:34:02 +09:00
Hajime Hoshi
0c4ef7ee8e
ui: Bug fix: fix the initial window position on multiple monitors
2018-10-14 16:59:14 +09:00
Hajime Hoshi
13174cdb22
examples/flappy: Should use fullscreen on Wasm
2018-10-14 01:21:13 +09:00
Hajime Hoshi
56541a8c0a
examples/blocks: Fix message
2018-10-14 00:55:27 +09:00
Hajime Hoshi
b56061281d
ui: Add comments
2018-10-13 22:41:21 +09:00
Hajime Hoshi
a073f48faf
input: Bug fix: keypress event were not fired
...
This change suspends to 'preventDefault' on keydown events.
Now preventing navigation by pressing backspace is deprecated in
Chrome. For other keys, it looks like keyup's preventDefault is
enough to disable the browser default behavior.
2018-10-13 19:18:13 +09:00