Zaoshi Kaba

Members
  • Content count

    354
  • Joined

  • Last visited

Community Reputation

8435 Excellent

About Zaoshi Kaba

  • Rank
    Member

Personal Information

  • Interests
    DevOps
    Programming
  1. DirectXMath conditional assignment

    XMVectorLessOrEqual returns 0xFFFFFFFF on true and 0x00000000 on false, therefore you can play with bitwise operations: Edit: ajmiles suggestion is better - XMVectorSelect does exactly same thing as I suggested above.
  2. In the past I had some random crashes when SSE was being used on unaligned data. In your case it might happen when DirectX Math objects (vector, matrix, etc.) are stored on the heap.
  3. There is LZ4 which is slow to compress on highest level (thus should be done offline), but decompression is 10 times faster than zlib according to them (and half the speed of memcpy). https://github.com/lz4/lz4
  4. Probably that's your problem. Visual Studio comes with DirectX since a few years ago. Mixing them together is just asking for trouble. Also, are you sure it's not simply compiling shaders / loading data? 
  5. Animation is buggy in Java

    1. Wrong forum 2. I'm not sure how you expect us to help if you haven't even posted source code or explained the problem properly (what exactly is wrong?)
  6. Please stop repeating QPC works fine on multicore. It does not. QPC has been historically a source of constant pain. QPC has known issues on older AMD machines and Microsoft even released a hotfix to patch it, even though it's not perfect. AMD release its own patch as well named "Dual Core Optimizer". Those articles are from 2006. That's when multicore CPUs just started appearing. There's nothing weird about bugs in new technology. There hasn't been a problem for 10 years since then. Alternatively it's possible to use std::chrono::high_resolution_clock but on Windows system it probably uses QPC internally anyways.
  7. .cso in .lib

    HLSL compiler doesn't seem to provide any way to add extra code so not really. Since it's const and global you could include all shaders in a single .cpp file and create GetShader(...) method to retrieve data. It appears only in debug build for debugging reasons, so if you aren't interested in debugging shaders you might as well turn off debug stuff for shaders: [attachment=35337:Capture.PNG]
  8. .cso in .lib

    And you can then read the blobs from the .lib in the .exe?   Alternatively, HLSL compiler can output .h file (see picture) which contains array with compiled shader. It's just .cso file in inlined into array, so you load it exactly same way and if you need to access it outside .lib you'll have to write some function to return array + size. [attachment=35208:Capture.PNG]
  9. In my case only 33% of horizontal space is being used. Ridiculous design.
  10. Frustum Culling

    Quite detailed article. Have you considered trying AVX? On my i7-4770K 4.0 GHz I get roughly 500,000,000 AABB culls / second on a single thread, so it's roughly 0.2 ms per 100?.
  11. Skeletal Animation with ASSIMP

    Someone on GameDev said increasing max bones from 4 to 8 had a noticeable effect on animation quality, maybe this might be the case?
  12. I don't know anything about D3D12 but I can post my results: NVIDIA GeForce GTX 1070 UpdateTileMappings Tests, CPU work done before GPU begins ContiguousToContiguous AVE: 0.89ms, STDEV: 0.65ms, MED: 0.64ms, MIN: 0.29ms, MAX: 2.17ms, GPUAVE: 0.00195ms ContiguousToRandom AVE: 263.96ms, STDEV: 189.51ms, MED: 167.02ms, MIN: 52.79ms, MAX: 574.43ms, GPUAVE: 354.12623ms RandomToContiguous AVE: 417.53ms, STDEV: 99.70ms, MED: 397.20ms, MIN: 190.79ms, MAX: 564.97ms, GPUAVE: 494.95818ms RandomToRandom AVE: 480.93ms, STDEV: 60.88ms, MED: 481.46ms, MIN: 384.92ms, MAX: 586.06ms, GPUAVE: 487.36492ms RandomToReversed AVE: 470.40ms, STDEV: 109.00ms, MED: 484.36ms, MIN: 252.67ms, MAX: 695.85ms, GPUAVE: 483.33957ms ContiguousToReversed AVE: 1.09ms, STDEV: 0.95ms, MED: 0.89ms, MIN: 0.31ms, MAX: 3.21ms, GPUAVE: 0.77855ms ReversedToContiguous AVE: 212.22ms, STDEV: 198.78ms, MED: 123.66ms, MIN: 3.68ms, MAX: 504.59ms, GPUAVE: 312.44186ms ReversedToReversed AVE: 260.22ms, STDEV: 224.82ms, MED: 147.88ms, MIN: 19.11ms, MAX: 656.05ms, GPUAVE: 269.86404ms UpdateTileMappings Tests, CPU work in parallel with GPU RandomToRandom AVE: 472.04ms, STDEV: 89.72ms, MED: 492.83ms, MIN: 292.52ms, MAX: 656.10ms, GPUAVE: 924.84854ms ReversedToReversed AVE: 298.65ms, STDEV: 211.92ms, MED: 187.93ms, MIN: 34.59ms, MAX: 620.90ms, GPUAVE: 597.90684ms CopyTileMappings Tests, CPU work done before GPU begins ScrollRight AVE: 0.09ms, STDEV: 0.00ms, MED: 0.09ms, MIN: 0.09ms, MAX: 0.10ms, GPUAVE: 0.00215ms ScrollLeft AVE: 794.01ms, STDEV: 340.08ms, MED: 844.93ms, MIN: 304.12ms, MAX: 1227.20ms, GPUAVE: 707.55676ms ScrollUp AVE: 0.09ms, STDEV: 0.01ms, MED: 0.09ms, MIN: 0.08ms, MAX: 0.12ms, GPUAVE: 0.00143ms ScrollDown AVE: 83.18ms, STDEV: 50.67ms, MED: 75.71ms, MIN: 0.16ms, MAX: 169.87ms, GPUAVE: 0.49807ms RotateSubresourcesUp AVE: 25.32ms, STDEV: 7.61ms, MED: 22.45ms, MIN: 18.56ms, MAX: 43.99ms, GPUAVE: 0.36721ms RotateSubresourcesDown AVE: 24.92ms, STDEV: 10.27ms, MED: 20.19ms, MIN: 15.74ms, MAX: 47.03ms, GPUAVE: 0.09994ms LeftOntoRightNoOverlap AVE: 242.73ms, STDEV: 240.60ms, MED: 196.77ms, MIN: 13.97ms, MAX: 790.73ms, GPUAVE: 647.08342ms RightOntoLeftNoOverlap AVE: 0.08ms, STDEV: 0.01ms, MED: 0.08ms, MIN: 0.07ms, MAX: 0.11ms, GPUAVE: 0.00266ms TopOntoBottomNoOverlap AVE: 13.79ms, STDEV: 8.30ms, MED: 14.72ms, MIN: 0.21ms, MAX: 33.46ms, GPUAVE: 35.26205ms BottomOntoTopNoOverlap AVE: 0.06ms, STDEV: 0.00ms, MED: 0.06ms, MIN: 0.06ms, MAX: 0.07ms, GPUAVE: 0.08673ms CopyTileMappings Tests, CPU work in parallel with GPU ScrollLeft AVE: 924.48ms, STDEV: 484.26ms, MED: 754.36ms, MIN: 278.25ms, MAX: 1618.37ms, GPUAVE: 1614.76035ms ScrollUp AVE: 0.13ms, STDEV: 0.02ms, MED: 0.13ms, MIN: 0.10ms, MAX: 0.15ms, GPUAVE: 0.13926ms
  13. I've experienced some issues due to power saving features and disabling them in NVIDIA Control Panel seemed to solve the issue.: