diff --git a/Documentation/Todo.txt b/Documentation/Todo.txt index 0ddd6f8d..890399d1 100644 --- a/Documentation/Todo.txt +++ b/Documentation/Todo.txt @@ -1,6 +1,26 @@ Generic Todos: + Correctly implement disposable pattern in all relevant classes (WIP as of 0.3.8). + Investigate startup lag. ++ Investigate call performance (+-5%) (AMD Venice 3200+ @2250MHz, Vista Business x64, .Net 2.0 x64 optimized build) + + Dummy managed call: + + Inline function: 100000000 calls/second. + + Function with try: 74500000 calls/second. <--- With try { } finally { } block + - Delegates loaded with reflection: + + GL.Vertex2f: 21878992 calls/second. (wrapper->delegate->import->unmanaged) + + GL.Vertex2fv: 23237133 calls/second. <--- 'fixed' statement. + + GL.ARB.ActiveTexture: 20133679 calls/second. (wrapper->delegate->unmanaged) + * GL.ColorPointer: 2870254 calls/second. <--- GCHandle.Alloc and Free + + Delegates loaded with constructors: + + GL.Vertex2f: 22396040 calls/second. + + GL.Vertex2fv: 22448539 calls/second. <--- fixed statement + + GL.ARB.ActiveTexture: 19920181 calls/second. + * GL.ColorPointer: 2340392 calls/second. <--- GCHandle.Alloc and Free + * GL.Vertex2fv: 2260000 calls/second. <--- GCHandle.Alloc and Free + + Direct DllImport (import->unmanaged) + + glVertex2f_1: 10445125 calls/second. <--- Unmanaged Code Security active + + glVertex2f_2: 24684893 calls/second. <--- Unmanaged Code Security suppressed + + glVertex2fv: 25896611 calls/second. <--- Unmanaged Code Security suppressed + Bind: @@ -9,8 +29,7 @@ Bind: OpenTK.OpenGL todos: -* Change the GCHandle method of pinning to 'fixed'. The behaviour is different: fixed guarantees pinning of the whole object. -* Different classes for each extension category (ARB.Foo, instead of FooARB). +* Improve call performance for functions that use GCHandles. + Inline XML documentation. + Add complete Wgl, Glx, Agl and Glu bindings. + Get rid of the "object" overloads in favour of generics.