[PATCH 6/6] wined3d: Do not warn about WINED3DUSAGE_WRITEONLY.

Stefan Dösinger stefandoesinger at gmail.com
Fri Jul 4 14:27:45 CDT 2014


Am 05.06.2014 um 12:40 schrieb Henri Verbeet <hverbeet at gmail.com>:
> I suppose you could replace the current FIXME with some kind of
> d3d_perf WARN in buffer_init(). I'd still prefer benchmarking about
> the impact of the flag in various scenarios be done.

I have done some basic benchmarking of the WRITEONLY flag in combination with DYNAMIC on Windows. The short summary: D3DUSAGE_WRITEONLY has no impact on Nvidia. On AMD GPUs not setting D3DUSAGE_WRITEONLY makes the common CPU->GPU streaming use case slower. If the application maps the buffer with D3DLOCK_READONLY or even reads back its contents, not setting D3DUSAGE_WRITEONLY improves performance considerably.

All tests were run on Windows 7. I have not tested this on Intel.

This is the raw data. The values are frames per seconds. The GPU is mostly idle in my test application. "draw" means the common writeonly use case of buffers where data is written with DISCARD or NOOVERWRITE maps. "read" writes data the usual way, draws, then performs a readonly map and copies the data from the buffer into a separate block of memory. "lock only" behaves like read, but does not perform the memcpy.

			dynamic		dynamic | writeonly
Geforce 650m
	draw		925		980
	read		1.4		1.4
	lock only	390		385

X1600
	draw		167		220
	read		45		1.69
	lock only	159		11.24

hd5770
	draw		157		345
	read		40		0.39
	lock only	145		30

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 842 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://www.winehq.org/pipermail/wine-devel/attachments/20140704/a08f5f1b/attachment.sig>


More information about the wine-devel mailing list